【发布时间】:2021-09-26 18:01:13
【问题描述】:
我编写了下面的代码来使用 pandas 写入工作簿。想法是如果已经存在同名的工作簿,则向工作簿添加一个新工作表,否则创建一个新工作簿。
import pandas as pd
from pathlib import Path
from openpyxl import load_workbook
xls = pd.ExcelFile("test.xlsx")
df = pd.read_excel(xls, "Sheet1")
op_name = "op.xlsx"
my_file = Path(op_name)
if my_file.exists():
book = load_workbook(my_file)
writer = pd.ExcelWriter(op_name, engine='openpyxl', mode='a')
writer.book = book
df.to_excel(writer, sheet_name="r2")
else:
writer = pd.ExcelWriter(op_name, engine='openpyxl')
df.to_excel(writer, sheet_name="r1")
writer.save()
writer.close()
但是在打开输出工作簿时出现以下错误:
我们发现“op.xlsx”中的某些内容存在问题。您希望我们尽可能多地尝试和恢复吗?
我尝试了此代码的多种变体,但没有任何效果。 任何有关如何解决此问题的建议都将受到高度赞赏。
【问题讨论】:
-
如果没有可重复的示例,将很难为您提供帮助
-
@Roim 运行我帖子中分享的代码可以重现错误
-
有任何excel文件吗?还是依赖于 test.xlsx?
-
您可以使用任何excel文件。我的测试文件有两行两列,其余都是空白
-
拒绝投票,因为不可复制。提供您遇到问题的 xlsx。
标签: python excel pandas dataframe openpyxl