我在使用 xlrd 时遇到问题。我正在使用 Fedora 17。
我跑了
python run.py
我得到了错误
ImportError: cannot import name open_workbook
我已经在谷歌上搜索了很长一段时间,但还没有找到解决方案。它变得有点令人沮丧。
根据我在 Google 上的发现,我认为这与 Python 寻找 xlrd 并找到冲突的文件/文件夹有关。如果是这样的话,我猜这与我安装 xlrd 的方式有关。首先,我相信我下载了一个 rpm 文件(我找不到下载它的确切位置)。在我这样做之后,我的文件运行良好,但由于某种原因,我决定我需要从更有信誉的来源安装 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]