python - JSON 合并

将多个JSON合并为一个完整的JSON
import json
import os
import uuid

# 需要合并多少个文件
file_num =1

# 读取文件中内容 并转换为JSON返回
def fileInfoToJson(file_path): 
    f = open(file_path,"r",encoding="utf-8")
    f_dt = json.load(f,parse_int=float)    
    return f_dt;

# 遍历指定目录,显示目录下的所有文件名
def eachFile(filepath):
    #拿到文件夹下的文件名了
    i = 0
    paths = []
    pathDir =  os.listdir(filepath)
    for allDir in pathDir:
        if i==file_num:
            return paths
        if allDir.endswith(".json"):
            paths.append(filepath+"/"+allDir)
            i+=1
    return paths
        
   

path1s = eachFile("data/json1")
path2s = eachFile("data/json2")
path3s = eachFile("data/json3")

ini_jd = fileInfoToJson("INIT.json")
out_path =r"C:\Users\panyu\Desktop\jupyter\json-res\\"
print("Began to merge 👇")
for num in range(0,file_num):
    path1_jd = fileInfoToJson(path1s[num])
    path2_jd = fileInfoToJson(path2s[num])
    path3_jd = fileInfoToJson(path3s[num])
    ini_jd["EXTERNAL_INFO"]["ECRP_DATA"]=path1_jd["EXTERNAL_INFO"]["ECRP_DATA"]
    ini_jd["EXTERNAL_INFO"]["PBC_DATA"]=path2_jd["EXTERNAL_INFO"]["PBC_DATA"]
    ini_jd["EXTERNAL_INFO"]["TAX_DATA"]=path3_jd["EXTERNAL_INFO"]["TAX_DATA"]
    # 组装后的 JSON 结果 写入至文件中
    format_json_res = json.dumps(ini_jd,indent=4)
    out_path = out_path+str(num)+".json"
    with open(out_path,"w") as f:
        f.write(format_json_res)
        print("    path: "+out_path)
print("End of the merger 👆")
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值