【发布时间】:2021-06-13 23:31:12
【问题描述】:
问题:
我正在使用 pd.read_excel 打开一个 .xls,但出现错误。 (“打包excel文件”下载自https://cima.aemps.es/cima/publico/nomenclator.html)
df_cima = pd.read_excel("price_tracker/es/support/Presentaciones.xls")
xlrd.biffh.XLRDError: Excel xlsx file; not supported
这个文件的后缀是 .xls 但这个错误告诉我它是 .xlsx
然后我尝试添加engine="openpyxl",它通常用于当xlrd版本不再是1.2.0时读取.xlsx,然后又给我一个错误
openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old .xls file format, please use xlrd to read this file, or convert it to the more recent .xlsx file format.
我的环境:
- 熊猫版本:1.1.5
- xlrd 版本:2.0.1
- openpyxl 版本:3.0.6
我不想将我的 xlrd 版本改回 1.2.0,从其他答案中我看到新版本的 xlrd 仅支持 .xls,但我不明白为什么不支持为我的文件工作。
提前致谢。
【问题讨论】:
-
你可以先把文件另存为 xlsx 吗?
-
然后通过在
ms excel或任何其他excel编辑器/查看器中打开并将文件的扩展名从.xls更改为.xlsx并将其保存在同名但不同的相同位置/路径中扩展名即 ..xlsx -
@AnuragDabas 我每个月有多个这样的文件,我不会选择手动更改它,我们可以在使用脚本下载时直接将 .xls 更改为 .xlsx 吗?
-
我的 Python 是 3.8。那么您的情况必须是导致它的软件包的不同组合。但是,整理它会非常耗时。如果可以,请绕过它,例如通过你提到的直接下载 xlsx 文件或像我一样手动转换它。
-
@SeaBean,我先尝试了 pandas-1.2.1 和 xlrd-2.0.1,然后是 pandas-1.1.5 和 xlrd-2.0.1,当我切换环境时,pycharm 控制台没有更新。所以我只是再次尝试了这两个组合(pandas-1.2.1和xlrd-2.0.1 vs pandas-1.1.5和xlrd-2.0.1),这次确实是pandas-1.2 .1和xlrd-2.0.1效果很好但不是pandas-1.1.5和xlrd-2.0.1,我认为pandas-1.1的组合肯定有一个未解决的问题.5 和 xlrd-2.0.1,我明天在办公室再试一次
标签: python excel pandas openpyxl xlrd