繁体   English   中英

Python:Pandas pd.read_excel 给出 ImportError:为 Excel 支持安装 xlrd >= 0.9.0

[英]Python: Pandas pd.read_excel giving ImportError: Install xlrd >= 0.9.0 for Excel support

我正在尝试读取带有 pandas 的.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),但我仍然遇到相同的错误。 谢谢!

正如@COLDSPEED 如此雄辩地指出错误明确告诉您安装 xlrd。

pip install xlrd

你会很高兴去的。

自 2020 年 12 月起,xlrd 不再支持 xlsx-Files,如官方变更日志中所述 您可以改用openpyxl

pip install openpyxl

在你的 python 文件中:

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

要么使用:

pip install xlrd

如果您使用的是 conda,请使用

conda install -c anaconda xlrd

就是这样。 祝你好运。

我收到一个错误

“导入错误:安装 xlrd >= 1.0.0 以获得 Excel 支持”

在 Pycharm 上获取以下代码

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

解决方案: pip install xlrd

使用它后它解决了错误。 也不需要使用“ import xlrd

如果您在 ubuntu 中,这对我有用:

python3 -m pip install openpyxl
python3 -m 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

这对我有用:对于 Python 3

pip3 安装 xlrd --user

对于 Python2

pip install xlrd --user

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

我在使用 jupyter 时遇到错误。

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

使用后为我解决了。

!pip install xlrd

我遇到了同样的问题,花了 2 个小时才弄明白。

  1. pip install xlrd(最新)
  2. pip install pandas(最新)
  3. 转到 C:\\Python27\\Lib\\site-packages 并检查 xlrd 文件夹(如果有 2 个)删除旧版本
  4. 打开一个新终端并使用pandas读取excel。 它应该工作。

我遇到了同样的问题,以上答案都没有奏效。 如果您进入设置(CTRL + ALT + s)并搜索项目解释器,您将看到所有已安装的软件包。 单击右上角的 + 按钮并搜索 xlrd,然后单击左下角的安装包。

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

首先,您需要安装 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/

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

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

在此处输入图片说明

当您检查下面的版本时,它会读取不在“..:\\Python27\\Scripts..”文件夹中的版本,无论您使用 pip 进行了多少更新。

print xlrd.__version__

删除整个冗余子文件夹,它可以工作。 (除了xlrd,我还有另一个库遇到了同样的情况)

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

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

然后... pip install ipykernel

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

最后,启动 jupyter notebooks,当你创建一个新的 notebook 时,选择你创建的名字(在这个例子中,'myproject')

希望有帮助。

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

这可能是因为您需要的库安装在 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 年帮助很多人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM