【发布时间】:2019-12-18 18:39:10
【问题描述】:
我有一个包含大量记录(超过 300,000 行和 100 列)的数据框。我想将此数据帧写入一个预先存在的 excel 文件(比如 Output.xlsx)。
我使用 openpyexcel 进行了如下尝试-
with pd.ExcelWriter('Output.xlsx',engine='openpyxl', mode='a') as writer:
df.to_excel(writer,sheet_name='mysht1', index=False )
这对于 1000 条记录来说效率很低,大约需要 10 秒。
我发现对于 300,000 条记录,PyExcelerate 的性能要快得多,大约需要 2 分钟。
但是,我能够将工作表添加到新的 excel 文件中,但是如何将其附加到现有的文件中。
values = [df.columns] + list(df.values)
wbk = Workbook()
ws = wbk.new_sheet('mysht1', data=values)
wbk.save('out.xlsx')
#wbk.save('Output.xlsx') just override my Output.xlsx with this new tab.
【问题讨论】:
标签: python excel pandas pyexcelerate