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

如何用Python批量修改千个JSON文件指定行的数值序列?

批量修改JSON文件指定字段的Python脚本

脚本实现

import os
import json

# 替换为你的JSON文件所在目录路径
JSON_DIR = "./json_files"

# 获取目录下所有JSON文件并按名称排序(确保顺序正确)
json_files = sorted([f for f in os.listdir(JSON_DIR) if f.endswith(".json")])

# 遍历文件,按顺序修改name字段
for idx, filename in enumerate(json_files, start=1):
    file_path = os.path.join(JSON_DIR, filename)
    
    try:
        # 读取并解析JSON文件
        with open(file_path, "r", encoding="utf-8") as f:
            data = json.load(f)
        
        # 修改name字段
        data["name"] = f"carl {idx}"
        
        # 将修改后的内容写回文件,保持JSON格式缩进(这里用4空格缩进,可根据需求调整)
        with open(file_path, "w", encoding="utf-8") as f:
            json.dump(data, f, indent=4, ensure_ascii=False)
        
        print(f"已处理文件: {filename} -> 修改为name: 'carl {idx}'")
    
    except Exception as e:
        print(f"处理文件 {filename} 时出错: {str(e)}")

关键说明

  • 文件排序:用sorted()确保文件按名称顺序处理,如果你文件命名有特定规则(比如data_001.json、data_002.json),排序后会自动按数字顺序排列。
  • JSON安全修改:直接解析JSON对象修改字段,比硬改文本行更稳妥,能避免因JSON格式差异(比如空格、换行位置不同)导致的文件损坏。
  • 异常处理:加入try-except块,单个文件出错不会中断整个批量处理流程,方便排查问题。
  • 编码与缩进:用utf-8编码保证中文等特殊字符正常读写,indent=4保持JSON文件的可读性,可根据原文件格式调整缩进值。

注意事项

  1. 请先备份所有JSON文件,避免修改出错导致数据丢失。
  2. 确保所有目标JSON文件中都存在name字段,否则脚本会抛出KeyError,如果有部分文件没有该字段,可在修改前加入判断:if "name" in data:。
  3. 如果你的文件不是按名称自然排序(比如文件名无规律),需要自己调整文件列表的排序逻辑,保证顺序符合你的需求。

内容的提问来源于stack exchange,提问作者David Ross

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 17:55:20