来自 SQL 游标的字典结构

Dictionary structure from SQL cursor

假设我有一个 SELECT SQL 查询并且我想 return 一个结构,例如前 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

你需要 dict comprehensionenumerate

temp_d = {i : dict(zip(column_names, row)) for i, row in enumerate(cur.fetchall())}