Как я могу преобразовать столбец Excel в определенный формат словаря? - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть один столбец в моем файле 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 голосов
/ 11 ноября 2018

Ваше изображение показывает значения в словаре как одно значение устанавливает , а не целые числа. Вы можете положить 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'>]
...