如何用Python将特定结构CSV转换为指定格式的嵌套JSON文件
Python实现CSV转目标格式JSON的解决方案
你可以通过拆分带轮次标识的列名,逐行组装嵌套字典的方式实现需求,完整可运行代码如下:
import pandas as pd import json # 读取CSV并填充空值 df = pd.read_csv(r"file_name.csv") df = df.fillna(0) # 初始化最终结果字典 result = {} # 遍历每行球员数据 for _, row in df.iterrows(): player_name = row['Player Name'] # 组装单个球员的基础结构 player_info = { "Team": row['Team'], "Position": {}, "Price": {}, "Score": {} } # 自动处理所有带轮次标识的列,新增R3/R4等轮次无需修改代码 for col in df.columns: if col.startswith('R') and ' ' in col: # 拆分列名得到轮次编号和字段类型,例如"R1 Position"拆出轮次1、字段Position round_part, field = col.split(' ', 1) round_num = round_part[1:] player_info[field][round_num] = row[col] result[player_name] = player_info # 输出格式化JSON文件 with open(r"file_name.json", 'w', encoding='utf-8') as f: json.dump(result, f, ensure_ascii=False, indent=4)
核心说明:
- 不需要硬编码列名,后续新增轮次数据可以自动适配
- 输出的JSON数值类型不会被自动转成字符串,完全匹配你给出的目标格式要求
内容的提问来源于stack exchange,提问作者Fonti
相关产品推荐
相关产品推荐

