Python将多个JSON对象解析为一个对象
我现在有一个json文件,看起来像这样Python将多个JSON对象解析为一个对象,python,json,csv,Python,Json,Csv,我现在有一个json文件,看起来像这样 { "data": [ { "tag": "cashandequivalents", "value": 10027000000.0 }, { "tag": "shortterminvestments", "value": 101000000.0 }, { "tag": "accountsreceivable",
{
"data": [
{
"tag": "cashandequivalents",
"value": 10027000000.0
},
{
"tag": "shortterminvestments",
"value": 101000000.0
},
{
"tag": "accountsreceivable",
"value": 4635000000.0
},
{
"tag": "netinventory",
"value": 1386000000.0
}...
但我想说的是
{
"cashandequivalents": 10027000000.0,
"shortterminvestments":101000000.0 ,
"accountsreceivable":4635000000.0,
"netinventory":1386000000.0
}
我只是不知道该怎么办
也许有一种更简单的方法,但对我来说这似乎是最符合逻辑的,因为下一步是
writer.writerow
到csv
因此,最终csv将看起来像
cashandequivalents | shortterminvestments | accountsreceivable | netinventory
100027000000 101000000000 46350000000 13860000000
########### ############ ########### ...........
(writer.writeheader
将在循环之外完成,因此我只编写值,而不是“标记”)
感谢一个天真的解决方案:
import json
json_data = {
"data": [
{
"tag": "cashandequivalents",
"value": 10027000000.0
},
{
"tag": "shortterminvestments",
"value": 101000000.0
},
{
"tag": "accountsreceivable",
"value": 4635000000.0
},
{
"tag": "netinventory",
"value": 1386000000.0
}
]
}
result = dict()
for entry in json_data['data']:
result[entry['tag']] = entry['value']
print json.dumps(result, indent=4)
输出
{
"shortterminvestments": 101000000.0,
"netinventory": 1386000000.0,
"accountsreceivable": 4635000000.0,
"cashandequivalents": 10027000000.0
}
做到这一点最简单、最干净的方法是阅读词典
d = {
"data": [
{
"tag": "cashandequivalents",
"value": 10027000000.0
},
{
"tag": "shortterminvestments",
"value": 101000000.0
},
{
"tag": "accountsreceivable",
"value": 4635000000.0
},
{
"tag": "netinventory",
"value": 1386000000.0
}
]
}
newDict = {i['tag']: i['value'] for i in d['data']}
# {'netinventory': 1386000000.0, 'shortterminvestments': 101000000.0, 'accountsreceivable': 4635000000.0, 'cashandequivalents': 10027000000.0}
这将遍历包含在原始
字典的“data”
键中的列表
,并创建一个新的列表,其中键为每个的标记
值,值为迭代期间每个的值。组合={item['tag']:item['value']对于['data']}
中的项,其中a
是您的初始结构。那是一本字典。