Сделать вложенный дикт с помощью defaultdict - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь запросить таблицы базы данных и организовать эти данные в формате JSON с использованием словаря.

Вот мои данные:

project_package_set = defaultdict(list)

project_package_set = {refresh : [['python1', 'python2', 'python3', 'python4']]}


with connection() as conn:
    curr = conn.cursor()
    for k,v in project_package_set.items():
        for nested in v:
            for p in nested:
                python_details = "SELECT*FROM [dbo].[python_data]"
                curr.execute(python_details)
                c = curr.fetchall()
                for d in c:
                    if d[7] == p:
                        project_package_set[k][d[7]].append(d)

That query shoud return a row like following : 
('python_key_vault', False, 'py', 'dbo', 'activity', True, False, 'python1', True)

Это немногосложный код, но я хочу обратить внимание на то, что я пытаюсь сделать следующее:

project_package_set = {refresh : 
[[{'python1':['python_key_vault', False, 'py', 'dbo', 'activity', True, False, 'python1', True]},
 'python2',
 'python3',
'python4']]}


Так что я, вероятно, допустил ошибку при структуре данных при запуске, потому что мне нужно снова добавить ists на основекритерии членов списков и диктов.

И это не дает результатов при создании вложенного dict с: индексы списка должны быть целыми числами, а не str

Любая помощь, высоко ценится.

...