为什么将我的数据导出到 .xlsx 比导出到 .xls 或 .csv 慢得多?

Dan*_*nny 2 python excel pandas

我有一个要导出到 Excel 的数据框,人们想要它在 .xlsx 中。我使用to_excel,但是当我将扩展名从 .xls 更改为 .xlsx 时,导出步骤大约需要 9 秒而不是 1 秒。导出到 .csv 甚至更快,我相信这是因为它只是一个特殊格式的文本文件。

也许 .xlsx 文件只是添加了更多功能,因此写入它们需要更长的时间,但我希望我可以做些什么来防止这种情况发生。

jmc*_*ara 7

Pandas 默认使用 OpenPyXL 来编写 xlsx 文件,这可能比用于编写 xls 文件的 xlwt 模块慢。

尝试使用XlsxWriter作为 xlsx 输出引擎:

df.to_excel('file.xlsx', sheet_name='Sheet1', engine='xlsxwriter')
Run Code Online (Sandbox Code Playgroud)

它应该和 xls 引擎一样快。

  • @MehmedB 这个问题和答案已经过时了。现在 OpenPyXL 与 XlsxWriter 一样快,因此您可以使用它 OpenPyXL 您需要添加工作表。 (2认同)