15

我有一个任务是在 Python 中读取 excel 数据。我安装了 Python 2.7。我尝试在 Windows 中使用以下命令安装 xlrd0.8.0。

C:\Python27\xlrd-0.8.0>python setup.py build
running build
running build_py
creating build
creating build\lib
creating build\lib\xlrd
copying xlrd\biffh.py -> build\lib\xlrd
....


C:\Python27\xlrd-0.8.0>python setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
running install_egg_info
Writing C:\Python27\Lib\site-packages\xlrd-0.8.0-py2.7.egg-info

安装时我没有收到任何错误消息。我还在 /lib 文件夹中的站点包中看到 xlrd-0.8.0 文件夹...

但是当我尝试导入它时,Python 无法识别它......

>>> import xlrd
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import xlrd
ImportError: No module named xlrd

你能建议如何找到问题吗?

4

7 回答 7

27

如何重现和修复此错误:

打开python解释器,尝试导入xlrt,报错:

python
>>> import xlrt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named xlrt

1.安装,或者确保安装了pip:

在系统范围内安装 pip 和 virtualenv 的官方“首选”方式是什么?

2.安装xlrd

pip install xlrd

Protip:如果你觉得你必须使用sudo pip install ....它来让它工作,那么你需要停下来并了解为什么这是危险的。请参阅:运行“sudo pip”有什么风险?

解决方法是使用特定用户安装 pip:pip install --user myuser ...在此处使用您自己的最佳判断。确保您的 pip 正在运行的目录归试图在那里安装软件包的用户所有。用途:chown -R $USER /Library/Python/2.7/site-packages

3.在python解释器上测试:

python
>>> import xlrd

>>> type(xlrd)
<type 'module'>
>>>

现在导入它没有问题,xlrd是一个python模块。

故障排除:

如果你的 PYTHONPATH 没有定义,你应该定义它:

PYTHONPATH=:/home/el/wherever/where_to_find_modules
于 2015-01-05T16:38:25.780 回答
2

解决 Python 2.7 中 xlrd 导入的问题

打开此链接https://bootstrap.pypa.io/get-pip.py并保存为 get-pip.py 并将此文件复制到 C:\Python2.7\

C:\Python2.7\python.exe get-pip.py

在您的系统中安装此 pip 后,现在安装 xlrd

C:\Python2.7\python.exe -m pip install xlrd

打开python并导入xlrd

import xlrd

它会起作用的。

于 2017-01-02T06:56:14.583 回答
1

对我来说,在 Mac 上的spyder中运行 python,即使在我使用 pip 安装后它也不起作用,因为它安装到了与spyderxlrd使用的位置不同的位置。为了解决这个问题,我首先找到了安装到的位置:xlrd

$pip install xlrd
Requirement already satisfied: xlrd in /usr/local/lib/python2.7/site-packages

然后将xlrd文件夹从那里复制到Spyder可以访问它的位置:

$cd /Applications/Spyder.app/Contents/Resources/lib/python2.7/
$cp -r /usr/local/lib/python2.7/site-packages/xlrd.

然后更新了spyder中的模块,但我不确定这是否有必要。进行这些更改后,重新启动Spyder也可能会起作用。

于 2017-04-02T15:52:37.320 回答
1

如果你使用 conda,

conda install xlrd
于 2017-06-02T02:15:59.827 回答
0

python -m pip install xlrd

对于我的情况,我同时安装了 python2 和 python3,pip install xlrd默认将 xlrd 安装到 Python3 库中(/usr/local/lib/python3.6/site-packages/xlrd/。通过为 pip install 指定 python2 解决了我的问题。

于 2019-05-31T08:37:35.877 回答
0

我遇到了同样的问题,如果将 xlsx 导出到 csv 文件然后在 python 上运行以下命令,似乎会更好

df = pd.read_csv('FileName.csv')

它应该像那样工作。如果您使用的是 iPython 甚至更好的 Jupyter,请运行df.head()以检查 pandas 是否正确读取您的表格。

注意,我使用的是 Ubuntu

于 2017-10-27T18:58:00.590 回答
0

请在您的系统变量中将“C:\Python27\Lib\site-packages\”添加到您的 PYTHONPATH 中。

如果没有这样的系统变量,请创建它:

  1. 右键单击桌面上的“我的电脑”图标,然后选择“属性”。
  2. 单击高级选项卡,然后单击环境变量按钮。
  3. 在系统变量下,单击新建。
  4. 输入变量名作为 PYTHONPATH。
  5. 将变量值输入为 C:\Python27\Lib\site-packages\
  6. 单击确定。
  7. 单击应用更改。
于 2015-11-23T08:54:40.927 回答