dkc*_*ud9 9 python excel pandas openpyxl
我有一个关于将数据框附加到现有文件的现有工作表的问题。
我尝试自己写代码
writer = pd.ExcelWriter('existingFile.xlsx', engine='openpyxl', mode='a')
df.to_excel(writer, sheet_name="existingSheet", startrow=writer.sheets["existingSheet"].max_row, index=False, header=False)
Run Code Online (Sandbox Code Playgroud)
这会导致错误
ValueError:工作表“existingSheet”已存在,并且 if_sheet_exists 设置为“错误”。
我用谷歌搜索并在这里找到了这个功能;
使用 python pandas 将新数据框附加到现有 Excel 工作表
即使使用这个函数,它仍然会导致相同的错误,即使我认为这个函数可以防止我所认为的这个确切错误。
能否请你帮忙?
非常感谢!
Mik*_*ikk 11
我想我参加聚会迟到了但是
if_sheet_exists='replace'
像这样向 ExcelWriter添加关键字
pd.ExcelWriter('existingFile.xlsx', engine='openpyxl', mode='a', if_sheet_exists='replace' )
Run Code Online (Sandbox Code Playgroud)
然后就可以使用最新版本的pandas了
看来这个功能在 pandas 1.3.0 中被破坏了,看看这个文档,当尝试附加到现有工作表时,它要么引发错误,要么创建一个新工作表,要么替换它
\n\n\nif_sheet_exists{\xe2\x80\x98error\xe2\x80\x99, \xe2\x80\x98new\xe2\x80\x99, \xe2\x80\x98replace\xe2\x80\x99}, 默认 \xe2\x80\x98error\ xe2\x80\x99 尝试写入已存在的工作表时\n如何表现(仅限追加\n模式)。
\n错误:引发 ValueError。
\nnew:创建一个新工作表,名称由引擎确定。
\n替换:在写入之前删除工作表的内容。
\n1.3.0版本新增
\n
唯一的解决方案是降级 pandas (1.2.3 对我有用)
\npip install pandas==1.2.3\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
25346 次 |
最近记录: |