LNQ*_*LNQ 123 python excel pandas
请看我下面的代码:
import pandas
df = pandas.read_excel('cat.xlsx')
Run Code Online (Sandbox Code Playgroud)
运行后,它给了我以下错误:
Traceback (most recent call last):
File "d:\OneDrive\??\practice.py", line 4, in <module>
df = pandas.read_excel('cat.xlsx')
File "D:\python\lib\site-packages\pandas\util\_decorators.py", line 296, in wrapper
return func(*args, **kwargs)
File "D:\python\lib\site-packages\pandas\io\excel\_base.py", line 304, in read_excel
io = ExcelFile(io, engine=engine)
File "D:\python\lib\site-packages\pandas\io\excel\_base.py", line 867, in __init__
self._reader = self._engines[engine](self._io)
File "D:\python\lib\site-packages\pandas\io\excel\_xlrd.py", line 22, in __init__
super().__init__(filepath_or_buffer)
File "D:\python\lib\site-packages\pandas\io\excel\_base.py", line 353, in __init__
self.book = self.load_workbook(filepath_or_buffer)
File "D:\python\lib\site-packages\pandas\io\excel\_xlrd.py", line 37, in load_workbook
return open_workbook(filepath_or_buffer)
File "D:\python\lib\site-packages\xlrd\__init__.py", line 170, in open_workbook
raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported
Run Code Online (Sandbox Code Playgroud)
我尝试使用 pip 命令卸载并重新安装 Pandas。错误仍然存在。我安装了 xlrd 2.0.1 和 Pandas 1.1.5。
Chr*_*ers 195
如发布电子邮件中所述,从发布推文链接到并在文档首页出现的大橙色警告中指出,橙色警告较少但仍存在于repo的自述文件和pypi 上的发布中:
xlrd 已明确删除对 xls 文件以外的任何内容的支持。
这是由于与使用xlrd1.2 或更早版本读取.xlsx文件相关的潜在安全漏洞。
在您的情况下,解决方案是:
openpyxl:https : //openpyxl.readthedocs.io/en/stable/pandas.read_excel('cat.xlsx', engine='openpyxl')
Run Code Online (Sandbox Code Playgroud)
编辑:目前,pandas >= 1.2 解决了这个问题。(发行说明)
LNQ*_*LNQ 42
最新版本的 xlrd (2.0.1) 仅支持 .xls 文件。
如果您准备冒潜在的安全漏洞,并冒着错误解析某些文件的风险,则可以通过安装旧版本的 xlrd 来解决此错误。
在 shell 或 cmd 提示符下使用以下命令:
pip install xlrd==1.2.0
Run Code Online (Sandbox Code Playgroud)