ImportError:没有名为'xlrd'的模块

问题描述 投票:27回答:8

我目前正在使用PyCharm与Python版本3.4.3进行此特定项目。

这个PyCharm之前有Python2.7,我升级到3.4.3。

我正在尝试使用Pandas从Excel文件中获取数据。

这是我的代码:

import pandas as pd

df = pd.read_excel("File.xls", "Sheet1")
print (df)

当我运行此代码时,我收到此错误。

ImportError: No module named 'xlrd'

我搜索了Stackoverflow并找到了一些建议:我试过了

pip install xlrd

但是,当我这样做时,消息说

"Requirement already satisfied: xlrd in ./anaconda2/usr/lib/python2.7/site-packages"

有什么建议吗?

python python-3.x pandas ubuntu pycharm
8个回答
32
投票

我有同样的问题。我去了终端(使用Linux),然后输入

sudo pip3 install xlrd

然后我在python中导入xlrd并使用相同的代码:

df = pd.read_excel("File.xlsx", "Sheet1")
print (df)

它对我有用!!


4
投票

你必须下载xlrd库,因为pandas需要它。

在Pycharm中,我将其下载到文件 - >设置 - >项目:[项目名称] - >项目翻译


3
投票

点击“导入xlrd”旁边的Bulb图标并点击安装包clrd,它会自动安装包


3
投票

运行pip install xlrd完成了安装,但是没有解决“没有名为xlrd的命名模块”错误。

将xlrd文件夹复制到存储.py程序的同一文件夹,解决了此问题。


1
投票

问题似乎是因为系统中存在多个python版本,其中一个版本的需求可能满足,而另一个版本则不满足。

在这种情况下,python2满足要求,但python3不满足,您需要指定下载需要用于python3。

关于上面提到的答案,对我有用的是

python3 -m pip install xlrd

指定python3而不是pip3为我工作。


0
投票

如果您在Bash下的终端或任何其他具有制表符完成功能的半高级shell中,请尝试编写pip,然后输入<tab>。如果我这样做,我看到写道:

none@vacuum:~$ pip  
pip     pip3    pip3.5  pip3.6

如您所见,我可以选择仅在pip下运行pip命令,但我可以选择更新版本的pip。要知道与pip命令相关联的版本(没有别的)像往常一样运行pip--version-V标志。就我而言,pip -V产量:

none@vacuum:~$ pip -V  
pip 9.0.1 from /usr/local/lib/python3.6/dist-packages (python 3.6)

除此之外,如果您在PyCharm下进行开发,当光标位于无法导入的模块名称下时,您可以按Alt+Enter以打开允许您安装模块的上下文相关浮动菜单。 (您还可以在Project Interpreter子菜单下的PyCharm设置菜单中管理特定Python版本的已安装模块列表。)


0
投票

出于某些原因,我的linux Mint机器中有python 2.7,3.5和3.6。

我的spyder使用python 3.5,我有同样的问题。我所做的是

  • 转到文件夹/usr/local/lib/python2.7/dist-packages
  • 复制文件夹xlrd(注意,要执行此操作,您可以右键单击并以root身份打开)
  • 现在去/usr/local/lib/python3.5/dist-packages/usr/local/lib/python3.6/dist-packages并将文件夹xlrd粘贴在那里。

它对我有用!!!

这个方法不会改变默认路径,所以我仍然可以继续使用python 2.7而没有任何伤害(类似于我广泛使用的SageMath


0
投票

同样的事情发生在我使用pycharm,我用pip,pip3和anaconda安装它仍然无法正常工作。我从pycharm-> preferences -> project -> project interpreter -> +手动安装了包,它工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.