openpyxl 从 excel 中获取值并存储在键值对中

openpyxl Fetch value from excel and store in key value pair

已经编写了一个 python 脚本来获取单元格值并逐行显示在列表中。

这是我的脚本:

 book = openpyxl.load_workbook(excel_file_name)
 active = book.get_sheet_by_name(excel_file_name)

 def iter_rows(active): 
     for row in active.iter_rows(): 
         yield [cell.value for cell in row]

 res = list(iter_rows(active))
 for new in res:
     print new

Output for the above script: [state, country, code] [abc, xyz, 0][def, lmn, 0]

I want output in below format: [state:abc, country:xyz, code:0][state:def, country:lmn, code:0]

请注意:我想从 openpyxl 执行此操作

试试这个:

res = iter_rows(active)
keys = next(res)
for new in res:
    print dict(zip(keys, new))

res 是一个迭代器。因此,next(res) 给出了下一个元素。在我们的例子中是字典的键。使用 for 循环遍历 res 的其余部分,dict() 为每个元素 new 创建一个新字典,对所有字典使用相同的 keys。函数 zip() 以这样一种方式组合两个(或更多)序列,它用每个序列中的一个元素创建对。 dict() 使用其中一对作为一个新项目的键和值,并遍历所有对。例如,这个:

dict(zip('abc', [1, 2, 3]))

本词典中的结果:

{'a': 1, 'b': 2, 'c': 3}