【问题标题】:Fastest way to write dataframes list to Excel sheets with python使用python将数据框列表写入Excel工作表的最快方法
【发布时间】:2020-09-30 07:48:39
【问题描述】:

我有 50 个 CSV 文件,每个文件有 20,000 行,我已经加入它们,然后按日期拆分它们。我的结果是一个 list 数据框,我想将列表中的每个数据框写入输出 excel 中的一张表。 我已经尝试过:

with pd.ExcelWriter('output.xlsx') as writer:
        cont=0
        for x in List:
            x.to_excel(writer,sheet_name="csv_"+str(cont),index=False, engine='xlsxwriter',na_rep="NAN",startrow=1,startcol=1)
            cont+=1

但是我遇到了一个内存错误,并且需要很长时间。所以我的问题是,有谁知道如何使用 python 以非常快速的方式将大数据帧写入 excel 工作表?还是我应该用另一种语言来写?

我已经发布了另一个问题,显示我的错误: Writing pandas dataframes to excel crash

【问题讨论】:

标签: python excel pandas dataframe


【解决方案1】:

要修复内存错误,您必须增加 cont 变量;

with pd.ExcelWriter('output.xlsx') as writer:
        cont = 0
        for x in List:
            x.to_excel(writer,sheet_name="csv_"+str(cont),index=False, engine='xlsxwriter',na_rep="NAN",startrow=1,startcol=1)
            cont += 1

为此提供更好的语法;

with pd.ExcelWriter('output.xlsx') as writer:
        for i, x in enumerate(List):
            x.to_excel(writer,sheet_name="csv_"+str(i),index=False, engine='xlsxwriter',na_rep="NAN",startrow=1,startcol=1)

并检查您要输出的文件是否遵循Excel Specifications.

如果全部结帐但仍然太慢,您可以使用faster excel module

【讨论】:

  • 谢谢,但这不是我的问题
猜你喜欢
  • 2020-08-28
  • 1970-01-01
  • 2014-11-09
  • 2016-12-03
  • 2012-10-22
  • 2019-08-23
  • 1970-01-01
  • 2020-09-13
  • 2018-05-22
相关资源
最近更新 更多