前提・実現したいこと
下記の2つのjsonデータがあります。
'event_id'をキーに、innerjoinするように結合させたいのですがうまくいきません。
json1
[ { "name": "01", "event_id": "001", "timestamp": 1617185234 }, { "name": "02", "event_id": "001", "timestamp": 1617186067 }, { "name": "01", "event_id": "1010", "timestamp": 1618296823 }, { "name": "01", "event_id": "102", "timestamp": 1602118359 }, : : } ]
json2
{ "body": [ { "event_id": "1050", "event_class": 1, "event_name": "a" }, { "event_id": "1051", "event_class": 1, "event_name": "a" }, { "event_id": "001", "event_class": 2, "event_name": "b" }, { "event_id": "1010", "event_class": 3, "event_name": "b" }, { "event_id": "1011", "event_class": 3, "event_name": "b" }, { "event_id": "205", "event_class": 4, "event_name": "c" }, { "event_id": "501", "event_class": 4, "event_name": "c" }, : : { "event_id": "602", "event_class": 4, "event_name": "c" }, { "event_id": "308", "event_class": 4, "event_name": "c" } ] }
###実現したいこと
[ { "name": "01", "event_id": "001", "timestamp": 1617185234, "event_class": 2, "event_name": "b" }, { "name": "02", "event_id": "001", "timestamp": 1617186067, "event_class": 2, "event_name": "b" }, { "name": "01", "event_id": "1010", "timestamp": 1618296823, "event_class": 3, "event_name": "b" } ...
試したこと
def merge_lists(json1, json2, joinkey): mergedlist=json1 for i in range(len(json1)): for j in range(len(json2)): if (json1[i][joinkey]==json2[j][joinkey]): for keys in json2[j].keys(): mergedlist[i][keys]=json2[j][keys] return mergedlist merge_lists(json1, json2, "event_id")
レスポンス
null
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/06 08:36