gpt4 book ai didi

excel - 获取 AttributeError 'Workbook' 对象没有属性 'add_worksheet' - 将数据框写入 Excel 工作表时

转载 作者:行者123 更新时间:2023-12-03 03:23:12 24 4
gpt4 key购买 nike

我有以下代码,我正在尝试将数据框写入 Excel 文件的“现有”工作表(此处称为 test.xlsx)。 Sheet3 是我想要放置数据的目标工作表,并且我不想用新工作表替换整个工作表。

df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})
book = load_workbook('test.xlsx')
writer = pd.ExcelWriter('test.xlsx')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # *I am not sure what is happening in this line*
df.to_excel(writer,"Sheet3",startcol=0, startrow=20)

当我逐行运行代码时,最后一行出现此错误:

属性错误:“工作簿”对象没有属性“add_worksheet”。现在,当我没有尝试添加工作表时,为什么会看到此错误?

注意:我知道这个类似的问题 Python How to use ExcelWriter to write into an existing worksheet但它对我不起作用,我也无法评论该帖子。

最佳答案

您可以使用append_df_to_excel()辅助函数,即defined in this answer :

用法:

append_df_to_excel('test.xlsx', df, sheet_name="Sheet3", startcol=0, startrow=20)

一些细节:

**to_excel_kwargs - 用于将额外的命名参数传递给df.to_excel(),就像我在上面的示例中所做的那样 -参数 startcol 对于 append_df_to_excel() 来说是未知的,因此它将被视为 **to_excel_kwargs 参数(字典)的一部分。

writer.sheets = {ws.title:ws for ws in writer.book.worksheets} 用于将现有工作表复制到 writer openpyxl 对象。我无法解释为什么在阅读 writer = pd.ExcelWriter(filename, engine='openpyxl') 时它不会自动完成 - 您应该向 openpyxl 模块的作者询问这一点...

关于excel - 获取 AttributeError 'Workbook' 对象没有属性 'add_worksheet' - 将数据框写入 Excel 工作表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49519696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com