我正在尝试将 pandas 数据框写入新选项卡上的现有 Excel 工作表,但出现以下错误:
AttributeError: 'NoneType' object has no attribute 'read'.
我确定这是因为 pandas to_excel 返回一个 NoneType 对象,该对象不允许我使用 writer.save() 保存文件。有谁知道这个问题的解决方法吗?
path = 'summary.xlsx'
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name="results")
writer.save()
最佳答案
我遇到了完全相同的问题。 我设法通过从工作簿中的每个工作表中删除legacy_drawing中的值来解决这个问题。
path = 'summary.xlsx'
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
for s in list(writer.sheets.keys()):
writer.sheets[s].legacy_drawing = None
df.to_excel(writer, sheet_name="results")
writer.save()
关于python - 尝试将 pandas 数据框保存到现有 Excel 工作表时出现 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54870178/