You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python批量替换JSON指定键值并生成1000个测试文件

批量替换JSON文件指定键值的Python方案

需求拆解

需要处理本地文件夹内1000个结构一致的JSON文件,完成两个核心替换:

  1. 全局替换所有数组中的f_ID(原值"80510926")为1-100的连续数字
  2. 替换仅出现在t_A数组中的f_Ctb(原值"10333"),同时同步替换t_B数组中的f_B_Company_ID(原值"10333")为对应数字

实现代码

import os
import json

# 配置参数
JSON_FOLDER = "./your_json_folder"  # 替换为你的JSON文件夹实际路径
START_NUM = 1
END_NUM = 100

def process_json_file(file_path, current_num):
    # 读取JSON文件内容
    with open(file_path, 'r', encoding='utf-8') as f:
        data = json.load(f)
    
    # 遍历所有数组,替换f_ID
    for key in data:
        if isinstance(data[key], list):
            for item in data[key]:
                if "f_ID" in item and item["f_ID"] == "80510926":
                    item["f_ID"] = str(current_num)  # 保持字符串类型,匹配原结构
    
    # 替换t_A中的f_Ctb
    for item in data.get("t_A", []):
        if "f_Ctb" in item and item["f_Ctb"] == "10333":
            item["f_Ctb"] = str(current_num)
    
    # 替换t_B中的f_B_Company_ID
    for item in data.get("t_B", []):
        if "f_B_Company_ID" in item and item["f_B_Company_ID"] == "10333":
            item["f_B_Company_ID"] = str(current_num)
    
    # 写入修改后的内容
    with open(file_path, 'w', encoding='utf-8') as f:
        json.dump(data, f, indent=2, ensure_ascii=False)

def main():
    # 获取文件夹内所有JSON文件
    json_files = [f for f in os.listdir(JSON_FOLDER) if f.endswith('.json')]
    
    # 为1000个文件循环分配1-100的数字
    for idx, file_name in enumerate(json_files):
        current_num = START_NUM + (idx % END_NUM)
        file_path = os.path.join(JSON_FOLDER, file_name)
        process_json_file(file_path, current_num)
        print(f"已处理: {file_name} | 替换值: {current_num}")

if __name__ == "__main__":
    main()

关键说明

  • 路径配置:务必将JSON_FOLDER替换为你的JSON文件所在的实际文件夹路径
  • 类型兼容:替换后的数字以字符串类型保存,和原JSON结构一致,避免功能测试时出现类型不匹配问题
  • 数字分配:默认1000个文件循环使用1-100的数字(每10个文件重复一轮1-100);如果需要每个文件用唯一数字(1-1000),只需将current_num = START_NUM + idx即可
  • 容错处理:使用data.get()方法避免因键缺失导致的报错,适配可能的结构微小差异

内容的提问来源于stack exchange,提问作者Sudarshan kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 02:20:49