ImportError:无法导入名称open_workbook

我有使用xlrd的问题。 我正在使用Fedora 17。

我跑了

python run.py 

我得到了错误

 ImportError: cannot import name open_workbook 

我一直在谷歌search了很长一段时间,还没有find一个解决scheme。 这有点令人沮丧。

从我在Google上find的信息来看,我认为这与Python寻找xlrd和查找冲突的文件/文件夹有关。 如果是这样的话,我猜测它与我如何安装xlrd有关。 首先,我相信我下载了一个rpm文件(我无法find我下载的确切位置)。 之后,我的文件运行正常,但由于某种原因,我决定我需要从一个更有信誉的来源安装xlrd。 所以我去http://www.python-excel.org/并使用那里的链接来下载它。 它安装正常,但这是当我开始接收导入错误。

如果可能的话,我想卸载xlrd完全从我的电脑,并开始新鲜。 如果这有帮助,我不知道。 但是,如果有人能指出我的方向是正确的,那将是美好的。

这是我的代码:

 from xlrd import open_workbook wb = open_work('week 1/AFROTC SP13 Eagles Sqaudron Weekly Attendance.xls') LLab = {} TuesPT = {} ThursFriPT = {} for s in wb.sheets(): if s.name == "LLab": for row in range(s.nrows): values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) if values[0] != "end": if values[1] == "0" or values[1] == "1": LLab[values[0]]=int(values[1]) elif s.name == "TuesPT": for row in range(s.nrows): values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) if values[0] != "end": if values[1] == "0" or values[1] == "1": TuesPT[values[0]]=int(values[1]) elif s.name == "ThursFriPT": for row in range(s.nrows): values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) if values[0] != "end": if values[1] == "0" or values[1] == "1": ThursFriPT[values[0]]=int(values[1]) print "LLab" for key in LLab: print key, print LLab[key] print print print "TuesPT" for key in TuesPT: print key, print TuesPT[key] print print print "ThursFriPT" for key in ThursFriPT: print key, print ThursFriPT[key] 

根据我们在上面的评论中的讨论,最终的原因是在目录本身有一个名为copy的文件。 这导致了一个问题,因为xlrd包中的formula模块试图import copy ,而不是导入本地命名copy的内置版本,导致错误。