Python: Panda pd.read_Excel 给予 Import Error: Install xlrd > = 0.9.0 for Excel support

我正在尝试阅读有关熊猫的 .xlsx,但是得到了以下错误:

data = pd.read_excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0)


Traceback (most recent call last):
File "/Users/Vineeth/PycharmProjects/DataAnalysis1/try1.py", line 9, in <module>
data = pd.read_excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0)
File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/util/_decorators.py", line 118, in wrapper
return func(*args, **kwargs)
File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/excel.py", line 230, in read_excel
io = ExcelFile(io, engine=engine)
File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/excel.py", line 263, in __init__
raise ImportError(err_msg)
ImportError: Install xlrd >= 0.9.0 for Excel support

我也试过

data = pd.read_excel("DataAnalysis1/temp1.xlsx", low_memory=False).fillna(value=0)

我仍然得到相同的错误。

背景: 我试图提取一个包含多个工作表的 Excel 文件作为数据框架的结果。我安装了 xlrd 版本0.9.0和最新版本(1.1.0) ,但仍然得到相同的错误。谢谢!

303544 次浏览

正如@COLDSPEED 雄辩地指出的那样,错误显式地告诉您安装 xlrd。

pip install xlrd

然后你就可以走了。

在我使用 cProfile a la python3 -m cProfile script.py运行一个脚本后发生了这种情况,尽管 xlrd 已经安装并且以前从未抛出过这个错误。它甚至在 python3 script.py下也持续存在。(当然,考虑到明显的导入错误,我同意 OP 不会出现这种情况)

然而,对于像我这样的情况,下面的问题固定,尽管被告知“要求已经满足”在每个情况下。

pip install --upgrade pandas
pip install --upgrade xlrd

相当令人困惑的东西; 不确定 cProfile 是原因还是只是一个巧合

假设您的 pip install在 python2上运行,那么下面的代码应该可以工作。

python3 -m pip install xlrd

首先,您需要安装 xlrd 和 Pandas 包,然后尝试下面的代码。

import xlrd
import pandas as pd


xl = pd.ExcelFile("fileName.xlsx")
print(xl.parse(xl.sheet_names[0]))

您需要安装“ xlrd”库

Linux (Ubuntu 和衍生版本) :

通过 pip 安装: Python-m pip install —— user xlrd

通过 Linux 包管理器在系统范围内安装: * sudo apt-get install python-xlrd

视窗:

通过 pip 安装: * pip install xlrd

下载文件: Https://pypi.org/project/xlrd/

我不知道这对谁有帮助,但我也有同样的问题。 在特定的环境中,我在 anaconda 提示符中编写了 pip install xlrd,它说已经安装了,但是当我查看已安装的软件包时,它并不在那里。 解决这个问题的方法是“移动”(我不知道它的术语)到特定环境的 Scripts文件夹中并在那里执行 pip install xlrd。 希望这对某些人有用: D

无论使用哪种方法:

pip install xlrd

如果你使用 Conda,请使用

conda install -c anaconda xlrd

就这样,祝你好运。

在我使用木星的时候出错了。

ModuleNotFoundError: No module named 'xlrd'
...
ImportError: Install xlrd >= 0.9.0 for Excel support

我用完之后就解决了。

!pip install xlrd

另一种可能性是,机器单独安装了一个较老版本的 xlrd,它不在“ . : Python27 Scripts. .”文件夹中。

换句话说,机器中有两个不同版本的 xlrd。

enter image description here

当你检查下面的版本时,它会显示不在“。.翻译: 巨蟒27 Scripts 巨蟒27脚本。."文件夹,无论如何更新您完成与匹普。

print xlrd.__version__

删除整个冗余的子文件夹,它就可以工作了(除了 xlrd 之外,我还遇到了另一个类似的库)

我在尝试在 jupyter 笔记本中使用 xlrd 时遇到了类似的问题。我注意到你正在使用一个虚拟环境,这也是我的问题的关键。我在 venv 中安装了 xlrd,但是我没有在笔记本中正确地安装该虚拟环境的内核。

为了让它工作,我创建了我的虚拟环境并激活了它。

然后... pip install ipykernel

然后... ipython kernel install --user --name=myproject

最后,启动 jupyter 笔记本,在创建新笔记本时,选择您创建的名称(在本例中为‘ myproject’)

希望能帮上忙。

我出错了

“ Import Error: 为 Excel 支持安装 xlrd > = 1.0.0”

以下代码的魅力

import pandas as pd
df2 = pd.read_excel("data.xlsx")
print(df2.head(3))
print(df2.tail(3))

解决方案: pip install xlrd

在使用此。 也不需要使用“ import xlrd

我遇到了同样的问题,花了2个小时来解决它。

  1. Pip 安装 xlrd (最新版本)
  2. 安装熊猫(最新版)
  3. 转到 C: Python27Lib 站点包,检查 xlrd 文件夹(如果有2个) ,删除旧版本
  4. 打开一个新的终端和使用熊猫阅读 Excel。它应该工作。

请确保您的 python 或 python3可以看到 xlrd 安装。我遇到过这样的情况: python3.5和 python3.7被安装在两个不同的位置。虽然 xlrd 是用 python3.5安装的,但是我使用 python3(来自 python3.7 dir)运行我的脚本,并得到了上面报告的相同错误。当我使用正确的 python (比如 python3.5 dir)运行我的脚本时,我能够毫无问题地读取 excel 电子表格。

这对我有用: 对于 Python 3

Pip3 install xlrd —— user 安装 xlrd ——用户

为了 Python 2

Pip install xlrd —— user

我也有同样的问题,上面的答案都不管用。如果进入设置(CTRL + ALT + s)并搜索项目解释器,您将看到所有已安装的包。单击右上角的 + 按钮并搜索 xlrd,然后单击左下角的 install package。

在此之前,我已经从 python.exe 的文件位置执行了“ pip install xlrd”命令,因此您可能也需要执行该命令。(你可以通过在 Windows 搜索栏中搜索找到文件位置,然后右击-> 打开文件位置,然后在文件资源管理器地址栏中键入 cmd)

从2020年12月起 xlrd 不再支持正式的 更改日志中解释的 xlsx-Files。您可以改用 openpyxl:

pip install openpyxl

在你的巨蟒文件里:

import pandas as pd
pd.read_excel('path/to/file.xlsx', engine='openpyxl')

如果你在 ubuntu 这个工作为我:

python3 -m pip install openpyxl
python3 -m pip install xlrd

这可能是因为您所需的库安装在 Python 环境中,而不是 Spyder 中。

Https://github.com/spyder-ide/spyder/wiki/working-with-packages-and-environments-in-spyder

我也有同样的问题。实际上,问题在于,即使使用 pip 安装了包/库,这些包也没有与 IDE 集成。因此,需要专门向 IDE 添加库。

正如@WojciechJakubas 提到的安装 openpyxl而不是 xlrd,我使用了 openpyxl,并且成功了。

Pip 安装 openpyxl

import openpyxl
path = "path to file.xlxs"
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
length_col = sheet_obj.max_row
print("Length of rows : ", length_col)

我希望它能在2023年帮助很多人。