Pyt*_*ous 9 python excel export pandas output
我需要将24个pandas数据框(140列x 400行)导出到Excel,每个都放到不同的工作表中.
我正在使用熊猫的内置功能ExcelWriter.运行24个场景,需要:
写入.xls文件51秒(使用xlwt)
写入.xlsx文件86秒(使用XlsxWriter)
141秒写入.xlsm文件(使用openpyxl)
只运行程序21秒(无Excel输出)
写入的问题.xls是电子表格不包含格式化样式,因此如果我在Excel中打开它,选择一个列,然后单击"逗号"按钮来格式化数字,它告诉我:"未找到样式逗号".我没有把这个问题写到一个.xlsx,但这甚至更慢.
有关如何使出口更快的任何建议?我不能成为第一个遇到这个问题的人,但经过几个小时的搜索论坛和网站,我还没有找到任何明确的解决方案.
我唯一能想到的是使用Python导出到csv文件,然后编写一个Excel宏来将所有CSV合并到一个电子表格中.
该.xls文件是10 MB,.xlsx5.2 MB
谢谢!
以下是使用发布时最新版本模块的140列x(400 x 24)行的输出:
Versions:
python : 2.7.7
openpyxl : 2.0.5
pyexcelerate: 0.6.3
xlsxwriter : 0.5.7
xlwt : 0.7.5
Dimensions:
Rows = 9600 (400 x 24)
Cols = 140
Times:
pyexcelerate : 11.85
xlwt : 17.64
xlsxwriter (optimised): 21.63
xlsxwriter : 26.76
openpyxl (optimised): 95.18
openpyxl : 119.29
Run Code Online (Sandbox Code Playgroud)
与任何基准测试一样,结果将取决于Python /模块版本,CPU,RAM和磁盘I/O以及基准测试本身.因此,请确保为您自己的设置验证这些结果.
此外,由于您特别询问了Pandas,请注意不支持 PyExcelerate .