python - xlrd.biffh.XLRDError : Excel xlsx file; not supported

标签 python pandas xlrd pcf

这个问题在这里已经有了答案:





Pandas cannot open an Excel (.xlsx) file

(2 个回答)


8 个月前关闭。




我正在尝试使用 pandas.read_excel 读取启用宏的 Excel 工作表使用 xlrd 库。它在本地运行良好,但是当我尝试将其推送到 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
我该如何解决这个错误?

最佳答案

release email 中所述,链接来自 release tweet并在 documentation 的首页出现的大橙色警告中注明和更少的橙色,但仍然存在于 readme on the repository 中和 release on 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',
    )
    
  • 关于python - xlrd.biffh.XLRDError : Excel xlsx file; not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65254535/

    相关文章:

    python:是否有作为生成器实现的 XML 解析器?

    python - 在 Pygame 中添加额外的 "frames"

    python - 如何使用 Python 自动填写在线表单中的文本区域?

    python - 在 Python 2.7 中访问带有空格的 unicode 键

    python - 从 Python 文档字符串自动生成 GitHub Wiki 文档

    python - Pandas Groupby 和 Sum Only 一列

    python - 如何根据列值将数据拆分为训练和测试并打乱组合?

    python - 如果条件为真,如何使用 Pandas (Python) 在列中插入值

    python - 将整数(使用 xlrd 读取)转换回日期格式(使用 openpyxl 写入)

    python - 读取Excel文件并将数据写入字典