2015-08-19 37 views
1

我有3个表,如何从python中的多个列表创建JSON格式的字符串?

city_id = [1,2,3] 
city_name = ['a','b','c'] 
city_capital = ['x','y','z'] 

如何将上述三个列表合并成以下格式的JSON没有通过自己迭代。 Python中有没有任何库函数可以完成工作?

[ 
    { 
     'city_id': 1, 
     'city_name': 'a', 
     'city_capital': 'x' 
    }, 
    { 
     'city_id': 2, 
     'city_name': 'b', 
     'city_capital': 'y' 
    }, 
    { 
     'city_id': 3, 
     'city_name': 'c', 
     'city_capital': 'z' 
    } 
] 

回答

4

要获得与该表单数据的列表:

[ { 'city_id': x, 'city_name': y, 'city_capital': z } 
    for x, y, z in zip(city_id, city_name, city_capital) ] 

如果你想输出正是形成的数据,那么你可以通过@AndyKubiak在评论中使用建议:

import json 
d = [ { 'city_id': x, 'city_name': y, 'city_capital': z } 
     for x, y, z in zip(city_id, city_name, city_capital) ] 
pretty_json = json.dumps(d, sort_keys=True, indent=4) 
+1

我只是添加一个电话'进口json',然后换你那美丽的理解与'pretty_json = json.dumps(beautiful_comprehension,sort_keys =真,缩进= 4)'从“漂亮打印”示例[这里](https://docs.python.org/3/library/json.html)。 –

相关问题