Создать вложенный словарь Python - PullRequest
0 голосов
/ 12 февраля 2019

Я использую приведенный ниже код Python для извлечения некоторых значений из таблицы Excel, а затем помещаю их на HTML-страницу для дальнейшей обработки.Я хотел бы изменить приведенный ниже код, чтобы я мог добавлять дополнительные значения к каждой задаче, любая помощь

, приведенный ниже код выдает следующее:

{'позиции': {'Обновление AMS': '30667', 'BMS работает': '35722'}}

Как я могу изменить приведенный ниже код, чтобы я мог добавить еще 2 значения для каждой задачи, например Обновление AMS и BMS работает и получает подобное (обратите внимание, что приведенная ниже структура может быть неправильной)

{'позиции': {'Обновление AMS': {'30667', '100%', '25799'}}, {'BMS works': {'10667', '10%', '3572'}}}

Код:

book = xlrd.open_workbook("Example - supporting doc.xls")
first_sheet = book.sheet_by_index(-1)
nested_dict = {}
nested_dict["line items"] = {}

for i in range(21,175):
    Line_items = first_sheet.row_slice(rowx=i, start_colx=2, end_colx=8)

    if str(Line_items[0].value) and str(Line_items[1].value):
        if not Line_items[5].value ==0 : 
            nested_dict["line items"].update({str(Line_items[0].value) : str(Line_items[1].value)})

print  nested_dict
print json.dumps(nested_dict)

*** согласно запросу см. Выдержку из Excel ниже

enter image description here

1 Ответ

0 голосов
/ 12 февраля 2019

В Python каждый ключ dict может быть связан только с одним значением.Однако это единственное значение может быть dict, list, set и т. Д., Которое содержит много значений.

Вам нужно будет выбрать тип, который будет использоваться для значения, связанного с ключом 'AMS Upgrade', если вы хотите, чтобы оносодержат несколько значений, таких как «30667», «10%», «222».

Примечание: то, что вы написали:

{'30667','100%', '25799'}

Является литералом набора в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...