批量修改json文件的标签值python代码

import os
import json
from tkinter.tix import ButtonBox

def xiugai(old_name,new_name):
    j=0
    for json_file in json_files:
        json_file_ext = os.path.splitext(json_file)

        if json_file_ext[1] == '.json':
            jsonfile = json_dir +'\\'+ json_file

            with open(jsonfile,'r',encoding = 'utf-8') as jf:
                info = json.load(jf)
                
                for i,label in enumerate(info['shapes']):
                    if info['shapes'][i]['label'] == old_name:
                        info['shapes'][i]['label'] = new_name
                        j=j+1
                        # 找到位置进行修改
                # 使用新字典替换修改后的字典
                json_dict = info
            
            # 将替换后的内容写入原文件 
            with open(jsonfile,'w') as new_jf:
                json.dump(json_dict,new_jf)
        
    print('change name over!')
    print(j)
#写入自己放了照片和json文件的文件夹路
#写自己的旧标签名和新标签名
data={"person":"2",
    "cupboard":"6",
    "chair":"1",
    "box":"5",
    "workpiece":"14"
     }
json_dir = './output3'
json_files = os.listdir(json_dir)
for i,key in data.items():
    xiugai(i,key)

如上,我书写了一个字典,通过遍历字典值(标签值)和关键字,传入xiugai函数中,实现批量修改,并计算修改数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李湘儒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值