使用Python脚本拆分JSON中Vs字段为Team1、Team2两列的实现方法
处理JSON拆分Vs字段的Python实现
实现逻辑
- 调用Python内置
json模块完成JSON文件的读写操作 - 遍历每条赛事数据,将
Vs字段按vs关键词(默认保留前后空格,避免误拆分队名中包含vs的情况)拆分,得到两个队伍名称,分别赋值给新增的Team1和Team2字段 - 删除原有
Vs字段后,将处理后的数据写回目标JSON文件
完整可运行代码
import json # 替换为你自己的输入、输出文件路径 input_json_path = "input.json" output_json_path = "output.json" # 读取输入JSON文件 with open(input_json_path, 'r', encoding='utf-8') as f: match_data = json.load(f) # 遍历处理每条数据 for item in match_data: # 拆分Vs字段,strip()用于去除队名前后多余空格 team1, team2 = [t.strip() for t in item['Vs'].split(' vs ')] item['Team1'] = team1 item['Team2'] = team2 # 删除原有Vs字段 del item['Vs'] # 写入处理后的JSON文件,indent=4保证格式化输出和示例结构一致 with open(output_json_path, 'w', encoding='utf-8') as f: json.dump(match_data, f, ensure_ascii=False, indent=4)
补充说明
- 如果你的
Vs字段里的分隔符是大写VS或者没有前后空格,可以自行调整split方法里的参数,比如改为split('VS');新增第二个参数1即split('vs',1),表示只拆分第一个出现的vs,避免队名里包含vs时拆分出错 ensure_ascii=False参数是为了保证如果有中文队名不会被转义为Unicode编码,如果你处理的都是英文数据也可以删掉这个参数- 代码默认会把处理后的数据写入新的文件,不会覆盖原文件,避免操作失误丢失原始数据
- 如果不确定所有
Vs字段都符合拆分规则,可以在遍历逻辑外增加异常捕获,避免程序中途崩溃:
for item in match_data: try: team1, team2 = [t.strip() for t in item['Vs'].split(' vs ')] item['Team1'] = team1 item['Team2'] = team2 del item['Vs'] except Exception as e: print(f"处理条目{item.get('Match No', '未知编号')}出错:{e}")
内容的提问来源于stack exchange,提问作者Karan Kartikeya
相关产品推荐
相关产品推荐

