我希望将数据框附加到 excel
此代码几乎可以按预期工作。虽然它不是每次都追加。我运行它并将数据框放入 excel 中。但是每次我运行它时它都不会追加。我还听说 openpyxl 是 cpu 密集型的,但没有听说过很多 解决方法。
import pandas
from openpyxl import load_workbook
book = load_workbook('C:\\OCC.xlsx')
writer = pandas.ExcelWriter('C:\\OCC.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df1.to_excel(writer, index = False)
writer.save()
我希望每次运行时都附加数据,但这并没有发生。
数据输出看起来像原始数据:
A B C
H H H
我想跑第二次
A B C
H H H
H H H
抱歉,如果这很明显,我是 python 的新手,我练习的示例没有按预期工作。
问题是 - 如何在每次运行时附加数据。我尝试更改为 xlsxwriter 但得到 AttributeError: 'Workbook' object has no attribute 'add_format'
原文由 user9079010 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,这篇文章是解决方案的第一部分,您应该在其中指定
startrow=
: 使用 python pandas 添加带有新数据框的现有 excel 表您也可以考虑
header=False
。所以它应该是这样的:如果您希望它自动到达工作表的末尾并附加您的 df 然后使用:
如果你想让它遍历工作簿中的所有工作表:
顺便说一句:对于
writer.sheets
你可以使用字典理解(我认为它更干净,但这取决于你,它产生相同的输出):所以完整的代码将是: