xlrd.biffh.XLRDError: Excel xlsx文件;不支持

我试图用xlrd库使用pandas.read_excel读取一个启用宏的Excel工作表。它在本地运行良好,但当我试图将相同的推入PCF时,我得到这个错误:

2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] df1=pd.read_excel(os.path.join(APP_PATH, os.path.join("Data", "aug_latest.xlsm")),sheet_name=None)


2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] return open_workbook(filepath_or_buffer)
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] File "/home/vcap/deps/0/python/lib/python3.8/site-packages/xlrd/__init__.py", line 170, in open_workbook
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] xlrd.biffh.XLRDError: Excel xlsx file; not supported

如何解决此错误?

486823 次浏览

以前的版本xlrd 1.2.0似乎可以工作,但它也可能使您面临潜在的安全漏洞。警告结束后,如果你仍然想尝试一下,输入以下命令:

pip install xlrd==1.2.0

正如在发布电子邮件中所指出的,从发布微博链接到发布电子邮件,并在文档的首页上以大橙色警告表示,在存储库上的Readme在pypi上发布中橙色较少,但仍然存在:

XLRD明确地删除了对XLS文件以外的任何文件的支持。

在你的情况下,解决方案是:

    请确保您使用的是最新版本的Pandas,至少1.0.1, 最好是最新的版本。1.2将使他的 李甚至清晰。< / >
  • 安装openpyxl: https://openpyxl.readthedocs.io/en/stable/
  • 更改您的Pandas代码为:
    df1 = pd.read_excel(
    os.path.join(APP_PATH, "Data", "aug_latest.xlsm"),
    engine='openpyxl',
    )