Python 批量处理JSON文件,替换某个值
直接上代码,替换key TranCode的值 New 为 Update。输出 cancel忽略
import json
import os
import iopath = 'D:\\Asics\\850\\202307' # old
path2 = 'D:\\test2' # new
dirs = os.listdir(path)
num_flag = 0
for file in dirs: #if os.path.splitext(file)[1] == ".JSON": #num_flag = num_flag + 1with io.open(os.path.join(path, file), 'r', encoding='utf-8') as load_f:load_dict = json.load(load_f)n = len(load_dict['Orders'])Orders = load_dict['Orders']OrderLines = Orders[0]['OrderLines']SKUs = OrderLines[0]['SKUs']flag=Falsefor i in SKUs:if i['TranCode'] == 'New': # errori['TranCode'] = 'Update' # trueif i['TranCode'] != 'Cancel':flag=Trueif(flag):with io.open(os.path.join(path2, file), 'w', encoding='utf-8') as dump_f:dump_f.write(unicode(json.dumps(load_dict,dump_f, ensure_ascii=False)))if (num_flag == 0):print('Sorry no files')
else:print('release{} number json files'.format(num_flag))
数据结构