Python:在多个工作表上将pandas DataFrame写入Excel的最快方法
我需要将24个pandas数据框(140列x 400行)导出到Excel,每个都放到不同的工作表中.
我正在使用pandas的内置ExcelWriter.运行24个场景,需要: 写入.xls文件51秒(使用xlwt) 写入.xlsx文件需要86秒(使用XlsxWriter) 141秒写入.xlsm文件(使用openpyxl) 只运行程序21秒(无Excel输出) 写入.xls的问题是电子表格中没有格式化样式,所以如果我在Excel中打开它,选择一个列,然后单击“逗号”按钮来格式化数字,它会告诉我:’样式逗号未找到”.我写这个问题并没有写到.xlsx,但这甚至更慢. 有关如何使出口更快的任何建议? 我唯一能想到的是使用Python导出到csv文件,然后编写一个Excel宏来将所有CSV合并到一个电子表格中. .xls文件为10 MB,.xlsx为5.2 MB 谢谢! 解决方法
这是一个
benchmark for different Python to Excel modules.
以下是使用发布时最新版本模块的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 与任何基准测试一样,结果将取决于Python /模块版本,CPU,RAM和磁盘I / O以及基准测试本身.因此,请确保为您自己的设置验证这些结果. 此外,由于您特别询问了熊猫,请注意PyExcelerate isn’t supported. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |