2015-08-19 36 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)。 –

相關問題