Предположим, у меня есть запрос SELECT SQL, и я хочу вернуть структуру, например. для первых 3-х рядов:

{
0: {'ColName0': 'Col1RowValue0', 'ColName1': 'Col1RowValue0'},
1: {'ColName0': 'Col0RowValue1', 'ColName1': 'Col1RowValue1'},
2: {'ColName0': 'Col0RowValue2', 'ColName1': 'Col1RowValue2'}
...
}

Я подошел к следующему, но не могу заставить работать внешнюю структуру индекса: {0: {}, 1: {}}

with read_con.cursor() as cur:
    cur.execute(DONOR_SELECT)
    column_names = [col[0] for col in cur.description]
    temp_d = [dict(zip(column_names, row))  
        for row in cur.fetchall()]
print(temp_d)

Курсор от pyodbc

0
redsky 14 Июн 2020 в 11:20

1 ответ

Лучший ответ

Вам нужен dict comprehension с enumerate

temp_d = {i : dict(zip(column_names, row)) for i, row in enumerate(cur.fetchall())}  
0
sushanth 14 Июн 2020 в 08:28