python 替换json中的某个字段内容

前言

在炼丹过程中,难免会用json文件来保存一些目标检测或者语义分割任务的标签值,但是有时候某个标签的key值或者value批量都搞错了,那么就需要一个小的工具性脚本来对json值进行修改。

代码

python 替换json中的某个字段内容_第1张图片
比如像上述的json,我想要批量的将几千个json中的label的value值cross全部修改为keyboard,那么就可以将json读入进来,然后再转成str,然后用str的正则替换,最后再把str转换为json即可。代码如下:

def change_json_tmp():

    json_p = "image_third_batch"
    out_p = "out"
    for fi in os.listdir(json_p):
        if fi.endswith('.json'):
            with open(os.path.join(json_p, fi), 'r', encoding='utf-8') as f:
                s = f.read()

            s = s.replace("cross", "keyboard") ##字符串正则转换
            json_out = json.loads(s)
            with open(os.path.join(out_p, fi), 'w', encoding='utf-8') as f:
                json.dump(json_out, f) 

你可能感兴趣的:(json,python)