我有一个40MB的数据框'dfScore',我要将其写入.xlsx文件中。 以下是代码: writer = pandas.ExcelWriter('test.xlsx', engine='xlsxwriter') dfScore.to_excel(writer,sheet_name='Sheet1') writer.save() 代码 dfScore.to_excel 运行时间接近一小时,the code writer.save() 又需要一个小时。这正常吗?有没有好的方法可以在不到10分钟内完成? 我已经在stackoverflow上搜索过了,但似乎一些建议对我的问题无效。
为什么不将它保存为 .csv 文件呢?我曾经在个人电脑上处理过更大的数据框,写入 xlsx 时也遇到了同样的问题。 your_dataframe.to_csv('my_file.csv',encoding='utf-8',columns=list_of_dataframe_columns) 然后,您可以使用微软Excel或在线转换工具将其简单地转换为.xlsx格式。
代码 dfScore.to_excel 大约需要一个小时,代码 writer.save() 又需要一个小时。这正常吗?听起来有点太高了。我运行了一个 XlsxWriter 测试,写入了 100 万行 x 5 列,花费了大约 100 秒。时间会根据测试机器的 CPU 和内存而变化,但花费 1 小时要慢 36 倍,似乎不太对。请注意,Excel 和 XlsxWriter 只支持每个工作表的 1,048,576 行,因此您实际上正在丢弃 3/4 的数据并浪费时间。有没有一种好的方法可以在不到 10 分钟内完成?对于纯 XlsxWriter 程序,pypy 可以加快速度。例如,使用 pypy 重新运行我的 1,000,000 行 x 5 列测试用例,时间从 99.15 秒缩短到 16.49 秒。不过我不知道 Pandas 是否适用于 pypy。