繁体   English   中英

使用 python 加入多个 json 文件

[英]Joining multiple json files using python

我是 JSON 的新手,从未使用过 python 包来操作 JSON 文件。 我有 10 个 JSON 文件,我想使用 python 将它们合并为一个。

10 个文件中的每一个都具有完全相同的结构,并且有大约 50,000 个条目

例子:

档案一

{"tracking_code":"21703238","from_country":"FR","to_country":"FR","amount":3.23}
...

示例:文件二

{"tracking_code":"41545695","from_country":"FR","to_country":"FR","amount":2.9}
...

所需的 output 将只是:

{"tracking_code":"21703238","from_country":"FR","to_country":"FR","amount":3.23}
{"tracking_code":"41545695","from_country":"FR","to_country":"FR","amount":2.9}

我的问题的第二部分是这个 - 我将如何基于一个键加入 JSON 文件? 我想通过“tracking_code”加入这两个文件,output 文件只需在第一个文件中添加“amount”:3.23。

示例:文件一:

{"tracking_code":"29285908","from_country":"FR","to_country":"FR",
"package_type_id":10,"transaction_id":172238850,
"shipping_label_created":"2018-09-25 18:40:52"}

示例:文件二

{"tracking_code":"29285908","from_country":"FR","to_country":"FR","amount":3.23}

所需的 output:

{"tracking_code":"29285908","from_country":"FR","to_country":"FR",
"package_type_id":10,"transaction_id":172238850,
"shipping_label_created":"2018-09-25 18:40:52","amount":3.23}

谢谢你。

如果您使用json.loads() (将 json“转换”为 python 字典),您可以使用类似的 ZC1C4FDD54504C178A8 合并它们

def dict_merge(dict1, dict2): 
    return(dict2.update(dict1)) 

然后使用json.dumps()将生成的字典序列化为 json。

其他解决方案:

您还可以使用json-merger (通过pip install json-merger

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM