字典错误

时间:2014-11-25 09:22:15

标签: python-2.7 openpyxl

这里尝试从excel读取数据并将两列映射到字典中。 结果只有单键和打印时的值。 请让我知道程序。 ?

import openpyxl

book = openpyxl.load_workbook('c:/users/c_thv/desktop/tax.xlsx')
sheet = book.get_sheet_by_name('Thilip')
cell = sheet.cell(row=2,column = 4)
i = 2
x = []
y = []
while i < 10:
   keys = sheet.cell(row=i,column = 4)
   values = sheet.cell(row = i,column = 5)
   x.append(keys.value)
   y.append(values.value)
   i +=1
mydict = {key:value for key, value in zip(x,y)}
print mydict

输出是: TypeError: zip argument #1 must support iteration

1 个答案:

答案 0 :(得分:0)

您可以使用简单的for循环代替while,并将项目直接分配到您的词典中。

看起来您希望“D”列中的值是您的键,而“E”中的值是值。以下内容应该有效:

mydict = {}
for row in range(2, 10):
    key = sheet.cell(row, 4).value
    value = sheet.cell(row, 5).value
    mydict[key] = value