优化大型 Excel 文件(5M+ 行)的 Python 批处理以减少处理时间

问题描述 投票:0回答:1

我正在处理一个Python批处理任务,该任务涉及读取大型Excel文件(最多500万行)并对每一行执行各种操作。尽管优化了数据库查询并利用了多重处理,但对于 500 万行文件,总处理时间仍然约为 3 小时。

当前设置: 数据处理:

使用pandas读取并预处理Excel文件。 使用 Python 的多处理模块将文件分为多个块以进行并行处理。 数据库操作:

数据库有超过 100 万行的表。 查询经过优化并总共在约 20 分钟内执行。 使用索引表和高效连接。 加工:

Excel 文件中的每一行都经过验证和转换。 有些行涉及数据库中的附加逻辑或查找。 由于行级处理逻辑,受 CPU 限制的操作占主导地位。 环境:

Python 3.10。 8 核多处理。 数据库:应用了优化的 MySQL。 问题: 剩余的约 2.5 小时用于 Python 中的行级处理。 对于较小的文件(例如 100k 行),大约需要 30 分钟,这仍然太慢了。

python performance
1个回答
0
投票

我无法发表评论,所以这是我唯一的回应方式...

您是否尝试过使用其他资源?例如使用 Google Collab/AWS。两者都是免费的,具体取决于您使用的量。

只是一个想法?

© www.soinside.com 2019 - 2024. All rights reserved.