如何将一列Excel转换为特定的词典格式?

时间:2018-11-11 05:20:59

标签: python dictionary openpyxl

我的excel文件中有一列,我想将该列的所有行转换为特定的字典格式。 即,双引号之间的键和值以及方括号和括号之间的值,并且在此之前设置了单词,如图所示:

我使用此代码,但这没有给我我想要的格式:

import openpyxl

# Access active worksheet of excel file
book = openpyxl.load_workbook('workbook.xlsx')
sheet = book.active

# Access first column
column = sheet['A']

# Use dictionary comprehension on the cells in the column
d = {
    'item{}'.format(num): cell.value
    for (num, cell) in enumerate(column, 1)
}

1 个答案:

答案 0 :(得分:0)

您的图像将字典中的值显示为单个值sets,而不是整数。您可以将cell.value放入集合:

d = {
    'item{}'.format(num): {cell.value} for (num, cell) in enumerate(column, 1)
}

要检查:

>>> from pprint import pprint
>>> pprint.pprint(d)
{'item1': {5},
 'item2': {2},
 'item3': {0},
 'item4': {1},
 'item5': {6},
 'item6': {6},
 'item7': {1}}
>>> pprint([type(d[key]) for key in d.keys()])
[<class 'set'>,
 <class 'set'>,
 <class 'set'>,
 <class 'set'>,
 <class 'set'>,
 <class 'set'>,
 <class 'set'>]