这里尝试从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
答案 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