从 Python 列表中向字典添加键

ajc*_*123 2 python dictionary

我使用 python 查询了雪花以提取 3 列。

结果如下:

[('123','',datetime.date(9999,12,31)), ('321', '981', datetime.date(9999,12,31))] 
Run Code Online (Sandbox Code Playgroud)

我想要的是获取包含列名称的 JSON。所以最终的输出将如下所示:

[{
"Number": "123",
"ExternalNumber": "",
"effective_date": "9999,12,31"
},
{
"Number": "321",
"ExternalNumber":"981",
"effective_date": "9999,12,31"
}]
Run Code Online (Sandbox Code Playgroud)

Snowflake 中的列名称为 Number、ExternalNumber 和 effective date。

fun*_*man 5

使用列表理解:

import datetime

alist = [('123', '', datetime.date(9999, 12, 31)), ('321', '981', datetime.date(9999, 12, 31))]


result = [
    {
        "Number": number,
        "ExternalNumber": external_number,
        "effective_date": str(effective_date).replace('-', ',')
    } for number, external_number, effective_date in alist
]

print(result)
Run Code Online (Sandbox Code Playgroud)

输出:

[
    {'Number': '123', 'ExternalNumber': '', 'effective_date': '9999,12,31'}, 
    {'Number': '321', 'ExternalNumber': '981', 'effective_date': '9999,12,31'}
]
Run Code Online (Sandbox Code Playgroud)