我有 4 个独立的 json,有 4 个键 sum
、min
、max
、count
,列表如下:
"sum" : ["columnA", "columnB", "columnC", "columnD"]
"min" : ["columnA", "columnC"]
"max" : ["columnB", "columnC"]
"count" : ["columnA", "columnD"]
如何将它们重新打包成 json 对象,如下所示:
{ "columnA" : ["sum", "min","count" ] , "columnB" : ["sum", "max"], "columnC" : ["sum", "min", "max"] }
最佳答案
要获得快速(开发)结果,请尝试以下操作:
>>> my_json = {"sum" : ["columnA", "columnB", "columnC", "columnD"]
,"min" : ["columnA", "columnC"]
,"max" : ["columnB", "columnC"]
,"count" : ["columnA", "columnD"]}
>>> result = {}
>>> [result.setdefault(col,[]).append(key) for key,value in my_json.items() for col in value]
>>> result
{'columnD': ['count', 'sum'], 'columnA': ['count', 'sum', 'min'], 'columnC': ['max', 'sum', 'min'], 'columnB': ['max', 'sum']}
更具可读性的版本:
>>> result = {}
>>> for function, columns in my_json.items():
for column in columns:
result.setdefault(column, []).append(function)
>>> result
{'columnD': ['count', 'sum'], 'columnA': ['count', 'sum', 'min'], 'columnC': ['max', 'sum', 'min'], 'columnB': ['max', 'sum']}
关于python - 如何获取列表中的项目并将其转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47674398/