【问题标题】:Python: Pandas pd.read_excel giving ImportError: Install xlrd >= 0.9.0 for Excel supportPython:Pandas pd.read_excel 给出 ImportError:安装 xlrd >= 0.9.0 以获得 Excel 支持
【发布时间】:2018-06-12 11:40:45
【问题描述】:

我正在尝试使用 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),但我仍然遇到相同的错误。谢谢!

【问题讨论】:

  • 您是否尝试收听错误消息并安装xlrd 包?
  • 是的,我安装了xlrd 包。编辑:我试图导入包,但 python 给了我一个import xlrd ImportError: No module named xlrd 错误
  • 我猜你安装的是不同的 python 版本。
  • @cs95,刚刚收到同样的错误信息,这就是为什么我在使用这个库的功能时收到这个错误信息,为什么熊猫没有安装它所有的依赖库。本身:(

标签: python excel python-2.7 pandas


【解决方案1】:

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

pip install xlrd

你会很高兴的。

【讨论】:

  • 我遇到了同样的问题,我不得不强制重新安装 xlrd。 pip install --upgrade --force-reinstall xlrd
  • @TamasSzuromi 不幸的是,在尝试了您的两个命令后,我一直收到相同的错误消息:Install xlrd &gt;= 0.9.0 for Excel support :/
  • 此处相同(在 v 1.1.0 上)...我也无法导入它,正如此处建议的 stackoverflow.com/questions/51227745/…
  • tech-prism 下面的回答更现代。
  • 如果您看到此消息:您的 xlrd 版本是 2.0.1。在 xlrd >= 2.0 中,仅支持 xls 格式。改为安装 openpyxl。 请参阅来自@tech-prism 的消息并选择pip install openpyxl
【解决方案2】:

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

pip install openpyxl

在你的 python 文件中:

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

【讨论】:

  • 这是唯一对我有用的答案!谢谢!我希望他们接受你的回答。
  • 这正是我所需要的。我的程序在 Python 3.9 上使用更新版本的 pandas (1.2.3) 运行良好,但试图使其与 python 3.6 兼容,我只能将 pandas 升级到 1.1.5,它仍然必须使用 XLRD 作为默认引擎。谢谢你的回答!
【解决方案3】:

任意使用:

pip install xlrd

如果你使用 conda,请使用

conda install -c anaconda xlrd

就是这样。祝你好运。

【讨论】:

  • 我已经安装了 xlrd 并在我运行 pip freeze 时显示出来但是仍然有相同的错误消息...
【解决方案4】:

我遇到了一个错误

“ImportError: Install xlrd >= 1.0.0 for Excel support”

下面的代码在 Pycharm 上

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

解决方案:pip install xlrd

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

【讨论】:

    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

      这发生在我使用 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
      

      【讨论】:

        【解决方案7】:

        这对我有用: 对于 Python 3

        pip3 安装 xlrd --user

        对于 Python2

        pip install xlrd --user

        【讨论】:

          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

            在我使用 jupyter 时出现错误。

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

            使用后解决了。

            !pip install xlrd
            

            【讨论】:

              【解决方案10】:

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

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

              【讨论】:

                【解决方案11】:

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

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

                【讨论】:

                  【解决方案12】:

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

                  https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder

                  【讨论】:

                    【解决方案13】:

                    我遇到了同样的问题。实际上,问题是即使在使用 pip 安装包/库之后,这些包也没有与 IDE 集成。所以,需要专门为 ide 添加库。

                    【讨论】:

                      【解决方案14】:

                      首先你需要安装 xlrd & pandas 包。然后试试下面的代码。

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

                      【讨论】:

                        【解决方案15】:

                        您需要安装“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/

                        【讨论】:

                          【解决方案16】:

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

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

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

                          print xlrd.__version__
                          

                          删除整个多余的子文件夹,它可以工作。 (除了xlrd,我还有一个库也遇到过)

                          【讨论】:

                            【解决方案17】:

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

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

                            那么……pip install ipykernel

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

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

                            希望对您有所帮助。

                            【讨论】:

                              【解决方案18】:

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

                              【讨论】:

                                猜你喜欢
                                • 2021-07-21
                                • 2018-12-16
                                • 2021-06-13
                                • 1970-01-01
                                • 1970-01-01
                                • 2020-08-04
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多