使用python更改json文件以对对象进行分类

时间:2017-09-30 14:42:20

标签: python json

我想制作一个json文件,其结果来自我的数据库,所以,我从数据库中获取结果,我正在制作json:

max()

我的json出类似于:

function

但我想要像

 for result in data_list:
    json_data.append(dict(zip(column_names, result)))
json_out = json.dumps(json_data, indent=4)

怎么可能?

2 个答案:

答案 0 :(得分:0)

由于您的预期输出无效JSON(或者首先是有意义的),您应该有一个Python字典,其中包含一个名为employees的元素,并为其分配json_data

然后,您在该字典上调用json_dumps()

for result in data_list:
    json_data.append(dict(zip(column_names, result)))

final_json = {} # this is the Python dict I was talking about
final_json['employees'] = json_data
json_out = json.dumps(final_json, indent=4)

结果:

{
    "employees": [
        {
            "surname": "so",
            "name": "gi"
        },
        {
            "surname": "lo",
            "name": "lo"
        }
    ]
}

这是您想要的数据的良好表示,因为您代表的是员工的静态列表,必须表示为数组。

答案 1 :(得分:0)

您可以尝试使用tablib

import tablib

headers = ["name", "surname"]
data = [
    ("jhon", "smit"),
    ("george", "black")
]
data = tablib.Dataset(*data, headers=headers)
data.json

结果:

[{"name": "jhon", "surname": "smit"}, {"name": "george", "surname": "black"}]