我有这种JSon结构 JSON A
{
"data":[
{
"weekdays":"7",
"A":"122.56",
"month":"9",
"B":"10.96"
},
{
"weekdays":"8",
"A":"100",
"month":"9",
"B":"8.87"
}]}
JSON B
{
"data":[
{
"weekdays":"7",
"A":"986.5",
"month":"9",
"B":"47.8"
},
{
"weekdays":"8",
"A":"170.85",
"month":"9",
"B":"196.65"
}]}
我想要一个结果JSON,它会添加JSON A和JSON B,结果JSON低于
结果JSON
{
"data":[
{
"weekdays":"7",
"A":"1109.96",
"month":"9",
"B":"10.96"
},
{
"weekdays":"8",
"A":"270.85",
"month":"9",
"B":"8.87"
}]}
如何在不将其转换为字典并为字典编写逻辑的情况下设法在Python中获取结果?
答案 0 :(得分:0)
如果它只是您想要总结的A
个键,请尝试循环:
for i, d in enumerate(data1['data']):
d['A'] = str(float(d['A']) + float(data2['data'][i]['A']))
print(json.dumps(data1, indent=4, sort_keys=True))
{
"data": [
{
"A": "1109.06",
"B": "10.96",
"month": "9",
"weekdays": "7"
},
{
"A": "270.85",
"B": "8.87",
"month": "9",
"weekdays": "8"
}
]
}
如果您还要添加B
键,请稍微修改您的循环:
for i, d in enumerate(data1['data']):
for k in ['A', 'B']:
d[k] = str(float(d[k]) + float(data2['data'][i][k]))
具有灵活性,您可以根据需要添加更多按键进行求和。