Pandas df.to_excel 太慢了,有什么办法可以加快速度吗?

Rav*_*ina 5 python excel pandas

我正在处理一组几乎有 60 列(文本/地址/数字)的数据。使用Pandas处理数据后,我必须将其导出为xlsx格式。

这就是我生成输出的方式:

with pd.ExcelWriter("output.xlsx", engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name="sheet", index=False)
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个方法:

df.to_excel('output.xlsx', index=False, engine='xlsxwriter')
Run Code Online (Sandbox Code Playgroud)

我注意到,生成xlsx速度比csv. 并且随着记录数量的增加,生成xlsx文件的时间显着增加。

在此输入图像描述

这是正常的预期行为.to_excel还是有问题?有什么方法可以调试和解决这个问题吗?


我必须能够xlsx在几秒钟内生成大约 300K 到大约 600K 记录的文件,但正如您所看到的,我大约需要 6 分钟才能生成大约 500K 记录的 Excel 文件。

我用来生成这些文件的硬件有 16 核 CPU 和 64 GB 内存。

Daw*_*weo 1

根据pandas.DataFrame.to_excel文档, engine值可能是openpyxlxlsxwriter,当您使用后一个时,我建议测试engine='openpyxl'vs engine='xlsxwriter'