Pandas 无法打开 Excel (.xlsx) 文件 [英] Pandas cannot open an Excel (.xlsx) file

查看:169
本文介绍了Pandas 无法打开 Excel (.xlsx) 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请看下面我的代码:

import pandas
df = pandas.read_excel('cat.xlsx')

运行后,它给了我以下错误:

After running that, it gives me the following error:

Traceback (most recent call last):
  File "d:OneDrive桌面practice.py", line 4, in <module>
    df = pandas.read_excel('cat.xlsx')
  File "D:pythonlibsite-packagespandasutil\_decorators.py", line 296, in wrapper
    return func(*args, **kwargs)
  File "D:pythonlibsite-packagespandasioexcel\_base.py", line 304, in read_excel
    io = ExcelFile(io, engine=engine)
  File "D:pythonlibsite-packagespandasioexcel\_base.py", line 867, in __init__
    self._reader = self._engines[engine](self._io)
  File "D:pythonlibsite-packagespandasioexcel\_xlrd.py", line 22, in __init__
    super().__init__(filepath_or_buffer)
  File "D:pythonlibsite-packagespandasioexcel\_base.py", line 353, in __init__
    self.book = self.load_workbook(filepath_or_buffer)
  File "D:pythonlibsite-packagespandasioexcel\_xlrd.py", line 37, in load_workbook
    return open_workbook(filepath_or_buffer)
  File "D:pythonlibsite-packagesxlrd\__init__.py", line 170, in open_workbook
    raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported

我尝试使用 pip 命令卸载并重新安装 Pandas.错误仍然存​​在.我安装了 xlrd 2.0.1 和 Pandas 1.1.5.

I tried uninstall and reinstall Pandas with the pip command. The error persists. I have xlrd 2.0.1 and Pandas 1.1.5 installed.

推荐答案

发布电子邮件,链接自发布推文并在出现在 文档 的首页上的大橙色警告中注明,橙色较少但仍然存在于 repo 上的自述文件在 pypi 上发布:

As noted in the release email, linked to from the release tweet and noted in large orange warning that appears on the front page of the documentation, and less orange but still present in the readme on the repo and the release on pypi:

xlrd 明确删除了对 xls 文件以外的任何内容的支持.

这是由于与使用 xlrd 1.2 版或更早版本读取 .xlsx 文件相关的潜在安全漏洞.

This is due to potential security vulnerabilities relating to the use of xlrd version 1.2 or earlier for reading .xlsx files.

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

In your case, the solution is to:

  • make sure you are on a recent version of pandas, at least 1.0.1, and preferably the latest release.
  • install openpyxl: https://openpyxl.readthedocs.io/en/stable/
  • change your pandas code to be:
pandas.read_excel('cat.xlsx', engine='openpyxl')

目前,pandas >= 1.2 解决了这个问题.(发行说明)

Currently, pandas >= 1.2 addresses this issue. (Release Notes)

这篇关于Pandas 无法打开 Excel (.xlsx) 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆