Python 2.7的xlrd导入问题

时间:2013-10-16 15:26:17

标签: python python-2.7 xlrd

我有一个在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文件夹中的site-packages中看到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

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

7 个答案:

答案 0 :(得分:25)

如何重现并修复此错误:

打开python解释器,尝试导入xlrt,出现错误:

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

<强> 1。安装或确保已安装pip:

What is the official "preferred" way to install pip and virtualenv systemwide?

<强> 2。安装xlrd

pip install xlrd

Protip:如果您觉得必须使用sudo pip install ....来实现这一目标,那么您需要停下来了解为什么这是危险的。请参阅:What are the risks of running '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

答案 1 :(得分: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

它会起作用。

答案 2 :(得分:1)

对我来说,在Mac上的 spyder 中运行python,即使我使用pip安装xlrd后它也无法正常工作,因为它安装在不同的位置< em> spyder 正在使用。为了解决这个问题,我首先找到了安装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 可能也有效。

答案 3 :(得分:1)

如果你正在使用conda,

conda install xlrd

答案 4 :(得分:0)

请添加&#34; C:\ Python27 \ Lib \ site-packages \&#34;系统变量中的PYTHONPATH。

如果没有这样的SYSTEM VARIABLE,请创建它:

  1. 右键单击桌面上的“我的电脑”图标,然后选择“属性”。
  2. 单击“高级”选项卡,然后单击“环境变量”按钮。
  3. 在“系统变量”下,单击“新建”。
  4. 输入变量名称PYTHONPATH。
  5. 输入变量值为C:\ Python27 \ Lib \ site-packages \
  6. 单击“确定”。
  7. 点击Apply Changes。

答案 5 :(得分:0)

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

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

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

注意,我使用的是Ubuntu

答案 6 :(得分:0)

python -m pip install xlrd

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