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

批量修改2000个JSON文件Name字段编号,匹配文件名

批量修改JSON文件的Name字段编号

我有一个包含2000个JSON文件的文件夹,文件命名为1.json、2.json……2000.json。每个文件的Name字段当前为"Testname #5",需要将每个文件的Name字段编号修改为与文件名对应的数字(如1.json对应"Testname #1",2.json对应"Testname #2"等)。我已实现单个文件的修改代码,但需要批量处理的方案。

已实现的单文件处理代码:

import os
import sys
import fileinput    

x = 0;
for line in fileinput.input(['1.json'], inplace=True):
    if line.strip().startswith('"name"'):
        line = '"name":"Testname #' + str(x) + '",\n'
        x += 1
    sys.stdout.write(line)

批量处理方案

直接遍历目标文件夹内的所有JSON文件,提取文件名中的数字作为对应编号,替换字段即可。以下是优化后的批量处理代码:

import os
import sys
import fileinput

# 设置JSON文件所在的文件夹路径,可根据实际情况修改
target_dir = "."

# 遍历文件夹内的所有文件
for filename in os.listdir(target_dir):
    # 只处理数字命名的.json文件
    if filename.endswith(".json") and filename[:-5].isdigit():
        # 提取文件名中的数字编号
        file_num = filename.split(".")[0]
        # 原地修改文件内容
        for line in fileinput.input(os.path.join(target_dir, filename), inplace=True):
            if line.strip().startswith('"name"'):
                # 替换为对应编号的Name字段
                line = f'"name":"Testname #{file_num}",\n'
            sys.stdout.write(line)

关键说明

  • target_dir:替换为你的JSON文件实际所在的文件夹路径,默认是脚本运行的当前目录。
  • 代码会自动筛选数字+.json格式的文件,避免误处理其他无关JSON文件。
  • 使用f-string简化字符串拼接,比原代码的字符串相加更简洁易读。
  • 保留了fileinput的inplace=True特性,直接在原文件上修改,无需额外生成临时文件。

进阶优化(适配不同格式的name字段)

如果你的JSON文件中name字段存在格式差异(比如带空格:"name": "Testname #5"),可以用正则匹配来提高兼容性:

import os
import sys
import fileinput
import re

target_dir = "."

for filename in os.listdir(target_dir):
    if filename.endswith(".json") and filename[:-5].isdigit():
        file_num = filename.split(".")[0]
        for line in fileinput.input(os.path.join(target_dir, filename), inplace=True):
            # 匹配任意格式的name字段
            if re.search(r'"name"\s*:', line):
                line = re.sub(r'"name"\s*:\s*".*?"', f'"name":"Testname #{file_num}"', line).rstrip('\n') + ',\n'
            sys.stdout.write(line)

注意事项

  • 建议先挑选少量文件测试代码逻辑,确认无误后再批量处理所有2000个文件。
  • 处理前最好备份原文件,避免意外情况导致数据丢失。

内容的提问来源于stack exchange,提问作者Shankar S Bavan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:25:20