Python linux计算机上的openpyxl错误
我之前一直在运行代码,但openpyxl突然出现了这个错误:Python linux计算机上的openpyxl错误,python,openpyxl,Python,Openpyxl,我之前一直在运行代码,但openpyxl突然出现了这个错误: >>>from openpyxl import load_workbook >>>wb = load_workbook("wb.xlsx") test!$A$2 True test!$A$3 True >>> ws = wb['sheet'] Traceback (most recent call last): File "<stdin>", line 1, in &
>>>from openpyxl import load_workbook
>>>wb = load_workbook("wb.xlsx")
test!$A$2 True
test!$A$3 True
>>> ws = wb['sheet']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Workbook' object has no attribute '__getitem__'
来自openpyxl导入加载\u工作簿的>>
>>>wb=加载工作簿(“wb.xlsx”)
测试$A 2美元真的吗
测试$A 3美元真的吗
>>>ws=wb[“工作表”]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“工作簿”对象没有属性“\uuuu getitem\uuuu”
以我的xlsx文件中的一张图纸的名称进行测试
我在linux和mac上运行了相同的代码。以前,代码在这两种环境中都可以正常工作,但现在在linux环境中代码正在崩溃,不确定原因。我也有同样的问题 非常奇怪的是,当我使用ipython时,它消失了,然后又回来了 下面是代码(注意“example.xlsx”可以是任何填写了A1的电子表格。) 结果是我们在这一行失败了:
sheet_ranges = wb[ws]
结果是:
TypeError:“工作簿”对象没有属性“getitem”
我怀疑这有一段时间是有效的,因为我添加了一些魔线
以下是一条线索:
目录(openpyxl.文档)
[“add”、“class”、“contains”、“delattr”、“doc”、“eq”、“format”、“getattribute”、“getitem”、getnewargs、“getslice”、,“hash”、“init”、“le”、“len”、“lt”、“mod”、“mul”、“ne”、“new”、“reduce”、“reduce-ex”、“repr、、rmsetattr”、“sizeof”、“str”、“子类挂钩”、“\u格式化程序\u字段\u名称\u拆分”、“\u格式化程序\u解析器”、“大写”、“居中”、“计数”、“解码”、“编码”、“结束开关”、“展开标签”、“查找”、“格式”、“索引”、“isalnum”、“isalpha”、“isdigit”、“islower”、“isspace”、“istitle”、“isupper”、“joi”n、ljust、lower、lstrip、partition、replace、rfind、rindex、rjust、rpartition、rsplit、rstrip、split、splitlines、startswith、strip、swapcase、title、translate、upper、zfill]
请注意,getitem
多田
答案是我通过debian存储库加载的openpyxl版本是1.5版。您可以使用以下代码发现这一可怕的事实:
''' checks version of openpyxl '''
if str(openpyxl.__version__) <> "2.3.2":
#T if str(openpyxl.__version__) <> "1.5":
print "Trouble Ahead...this machine uses openpyx version "+str(openpyxl.__version__)
else:
print "Good to Go! This this machine uses openpyx openpyx version "+str(openpyxl.__version__)
“”“检查openpyxl的版本”
如果str(openpyxl.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
#T如果str(openpyxl.\uuuuuuuuuuuu版本)“1.5”:
打印“故障在先…此机器使用openpyx版本”+str(openpyxl.\uuuuuuu版本)
其他:
打印“很好!这台机器使用openpyx openpyx版本”+str(openpyxl.\uuuuuuuuuuu版本)
当前版本为2.3.2。旧版本会让你哭泣
Flint您在linux上使用哪个版本的openpyxl?
''' checks version of openpyxl '''
if str(openpyxl.__version__) <> "2.3.2":
#T if str(openpyxl.__version__) <> "1.5":
print "Trouble Ahead...this machine uses openpyx version "+str(openpyxl.__version__)
else:
print "Good to Go! This this machine uses openpyx openpyx version "+str(openpyxl.__version__)