您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:在多个工作表上将pandas DataFrame写入Excel的最快方法

5b51 2022/1/14 8:23:17 python 字数 2888 阅读 586 来源 www.jb51.cc/python

我需要将24个pandas数据框(140列x 400行)导出到Excel,每个都放到不同的工作表中. 我正在使用pandas的内置ExcelWriter.运行24个场景,需要: 写入.xls文件51秒(使用xlwt) 写入.xlsx文件需要86秒(使用XlsxWriter) 141秒写入.xlsm文件(使用openpyxl) 只运行程序21秒(无Excel输出) 写入.xls的问题是电子表格中没有

概述

我正在使用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

谢谢!

以下是使用发布时最新版本模块的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.

总结

以上是编程之家为你收集整理的Python:在多个工作表上将pandas DataFrame写入Excel的最快方法全部内容,希望文章能够帮你解决Python:在多个工作表上将pandas DataFrame写入Excel的最快方法所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶