excel导出pandas openpyxl的写入速度和大小

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

作为我们生产的一部分,我们生成相当大的 xlsx 文件。 大约 1000 列和 200k 行。
我们注意到旧版本的 pandas/openpyxl 在生成这些文件时在内存和时间效率方面做得更好。

使用:
openpyxl = 3.0.7 和 3.1.2
熊猫=1.2.4

运行时间约为半小时,输出文件约为 100mb,RAM 使用量约为 4GB

使用
openpyxl = 3.1.4 和 3.1.2 熊猫=2.1.4

需要 2 小时,输出文件为 400mb,占用了几乎 16GB 的所有可用 RAM。

我会做更多的实验,无论这取决于 pandas 还是 openpyxl,但我想知道是否有人知道这里发生了什么。

编辑:
我已将 openpyxl 更新到 3.1.2,它仍然可以以较小的文件大小快速打印。 我还使用 pandas 2.1.4 降级到 3.1.2,但仍然需要很长时间,所以问题似乎出在 pandas 上。

python pandas openpyxl
1个回答
0
投票

事实证明,性能没有差异。 差异是因为在旧环境中它使用 xlsxwriter 而在新环境中它使用 openpyxl。

我应该更好地研究 pd.show_versions() 输出(pandas github 要求)

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