【发布时间】:2020-01-18 19:06:28
【问题描述】:
我正在根据现有的 excel 文件创建一些 dfs。然后,我将这些 df 中的每一个写入到不同(现有 excel)文件中自己单独的工作表中。脚本执行良好,但是当我打开写入 dfs 的 excel 文件时,我收到以下错误消息:“我们发现 'X.xlsx' 中的某些内容存在问题...
我尝试过不使用 openpyxl,因为类似帖子上的几个答案表明您不必使用 openpyxl;但是,pandas 文档表明如果写入 .xlsx,您需要使用 openpyxl。
import pandas as pd
from openpyxl import load_workbook
df_complete = pd.read_excel('completed_contracts_2019.xlsx',
index_col=None)
df_wip_out = pd.read_excel('wip19.xlsx', index_col=None)
df_in = pd.read_excel('wip_18_to_19.xlsx', index_col=None)
with pd.ExcelWriter('Final_Template.xlsx', engine='openpyxl') as writer:
writer.book = load_workbook('Final_Template.xlsx')
df_complete.to_excel(writer, sheet_name='complete', index=False)
df_wip_out.to_excel(writer, sheet_name='wipout', index=False)
df_in.to_excel(writer, sheet_name='wipin', index=False)
我希望打开 excel 文件而不会出现错误。
【问题讨论】:
-
您能否将其保存到不同工作表中的新 Excel 文件中,而不是打开现有的? (只是为了丢弃 df 到 excel 格式的问题)
-
如果要写入现有文件,则必须使用 openpyxl。但是,基本上你可以在这里用 openpyxl 做任何你想做的事情。根本不需要熊猫。只需使用只读模式阅读工作簿。
-
@CeliusStingher 我可以保存到新的 excel 文件,但是打开新的 excel 文件时出现同样的错误。
-
@CharlieClark 问题是我正在写入的文件。一些工作表具有连接到外部源的表。一旦我“取消链接”这些,脚本就可以工作了,当我打开脚本写入的文件时,我没有收到错误。
-
openpyxl 将删除那些带有
keep_links=False参数的链接。