Pandas Openpyxl 错误“<class 'openpyxl.styles.fills.Fill'>
Pandas Openpyxl error "<class 'openpyxl.styles.fills.Fill'>
我在加载从网站下载的 .xlsx 文件时遇到此错误
TypeError: expected "<class 'openpyxl.styles.fills.Fill'>
我在这里看到了一些解决方案,但他们告诉我手动重新保存文件,对于超过 10.000 个文件,这不是一个选项。
这是一个普通的.xlsx文件,没有任何公式或vba,只有数据。
是否有无需更改库版本的解决方案,我必须将 Pandas 和 XLRD 降级到 1.2.0 版才能使解决方案生效。由于我正在部署到服务器,因此更改版本可能会与我 运行.
的其他项目发生冲突
try:
pd.read_excel("Espelho.xlsx", engine='openpyxl')
except Exception as e:
print(e)
这是文件:
Espelho.xlsx
我在 github 上看到了另一个类似的查询,他们唯一的解决方案是使用 win32.com 重新保存或回滚 pandas 打开。因此,无需更改版本或单独修改文件,像这样的方法就可以解决问题。
提供的示例文件已使用此代码进行测试。
如果 xlsx 文件在打开时出现 expected 异常,则使用 xlwings 打开并以新名称保存并尝试再次打开文件,这应该第二次工作并允许您读取数据。
import xlwings as xw
import pandas as pd
path = 'Espelho.xlsx'
path2 = "renamed_" + path
while True:
try:
df = pd.read_excel(path, engine='openpyxl')
except Exception as e:
print("Failed to open workbook; error: ")
print(e)
wingsbook = xw.Book(path)
wingsapp = xw.apps.active
wingsbook.save(path2)
wingsapp.quit()
path = path2
else:
break
for col in df.columns:
print(col)
我在加载从网站下载的 .xlsx 文件时遇到此错误
TypeError: expected "<class 'openpyxl.styles.fills.Fill'>
我在这里看到了一些解决方案,但他们告诉我手动重新保存文件,对于超过 10.000 个文件,这不是一个选项。
这是一个普通的.xlsx文件,没有任何公式或vba,只有数据。
是否有无需更改库版本的解决方案,我必须将 Pandas 和 XLRD 降级到 1.2.0 版才能使解决方案生效。由于我正在部署到服务器,因此更改版本可能会与我 运行.
的其他项目发生冲突try:
pd.read_excel("Espelho.xlsx", engine='openpyxl')
except Exception as e:
print(e)
这是文件: Espelho.xlsx
我在 github 上看到了另一个类似的查询,他们唯一的解决方案是使用 win32.com 重新保存或回滚 pandas 打开。因此,无需更改版本或单独修改文件,像这样的方法就可以解决问题。
提供的示例文件已使用此代码进行测试。
如果 xlsx 文件在打开时出现 expected
import xlwings as xw
import pandas as pd
path = 'Espelho.xlsx'
path2 = "renamed_" + path
while True:
try:
df = pd.read_excel(path, engine='openpyxl')
except Exception as e:
print("Failed to open workbook; error: ")
print(e)
wingsbook = xw.Book(path)
wingsapp = xw.apps.active
wingsbook.save(path2)
wingsapp.quit()
path = path2
else:
break
for col in df.columns:
print(col)