Вложенный словарь Python с переменными - PullRequest
0 голосов
/ 09 октября 2019

Почему я пишу этот код: Я пытаюсь создать скрипт, который извлекает данные из Excel и переносит их в PowerPoint. Он должен определить цвет вкладки, чтобы указать, появляются ли на слайде несколько диаграмм.

До сих пор данные, похоже, правильно перемещаются в переменную data_dict, диаграммы, предназначенные для одного и того же слайда, не все вытягивают. только слова самые последние диаграммы попадают в словарь slide_data.

slidecount = 0
for wksht in wb.sheetnames:
        combinecount = 1
        if tabcolor is not None:
            if tabcolor == most_recent_tabcolor:
                combinecount += 1
                slidecount -= 1
            else:
                combinecount = 1  # Resets to one
            most_recent_tabcolor = tabcolor
        else:
            combinecount = 1  # Resets to one

        '''
        Placed after combinecheck para place correctly in dictionary 
        '''
        infolist = [intended_chart, data_question, data_base, forcefloat, forcepercent]
        slide_data[slidecount] = {}
        slide_data[slidecount][combinecount] = {'Chart Data': data_dict, 'Chart Info': infolist}
        slidecount += 1

Я ожидал следующий вывод: 0, {1: {'Chart Data' ...} 2:{'Данные диаграммы' ...} 3: {'Данные диаграммы' ...}}

Я получаю: 0, {3: {'Данные диаграммы' ...}}

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Таким образом, проблема заключалась в команде:

slide_data[slidecount] = {}

она уничтожила все данные на слайд-счетчике, но мне нужно было что-то подобное, чтобы фактически добавить больше во вложенный словарь. Я создал это выше итераций над wkshts:

    dictcount = 0
    while dictcount <= len(wb.sheetnames):
        slide_data[dictcount] = {}
        dictcount += 1

Это может создать несколько пустых словарных статей, но я смогу отфильтровать их позже.

0 голосов
/ 09 октября 2019

slidecount всегда 0, только если цвет вкладки не равен none. Для этой переменной нет приращения, просто уменьшается, когда цвет вкладки отсутствует.

Я хотел опубликовать это как комментарий, но у меня недостаточно репутации, чтобы сделать это.

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