如何用Python将CSV文件转换为指定结构的JSON文件
用Python把CSV转成指定格式的JSON
实现思路
- 读取CSV每行数据,提取文本、技能(含起止位置)、职位(含起止位置)字段
- 按要求的JSON结构重新组装这些数据
- 将组装好的数据写入JSON文件
代码示例
假设你的CSV表头为:translated_string、skill、skill_start、skill_end、title、title_start、title_end,对应每行内容是示例里的结构化信息,直接用以下代码转换:
import csv import json def csv_to_target_json(csv_path, json_path): result = [] # 读取CSV文件 with open(csv_path, 'r', encoding='utf-8') as f: reader = csv.DictReader(f) for line in reader: # 整理技能数据 skill_list = [] if line['skill'].strip(): skill_list.append({ "skill": line['skill'], "startingPosition": int(line['skill_start']), "endingPosition": int(line['skill_end']) }) # 整理职位数据 title_list = [] if line['title'].strip(): title_list.append({ "title": line['title'], "startingPosition": int(line['title_start']), "endingPosition": int(line['title_end']) }) # 组装成目标格式 result.append({ "translated_string": line['translated_string'], "skills": skill_list, "titles": title_list }) # 写入JSON文件 with open(json_path, 'w', encoding='utf-8') as f: json.dump(result, f, indent=2, ensure_ascii=False) # 替换成你的实际文件路径 csv_to_target_json('输入文件.csv', '输出文件.json')
注意事项
- 若CSV有多条数据,代码会自动将每条转为示例结构,最终放在一个数组中
- 若某行无技能或职位数据,对应字段会生成空数组,不会报错
ensure_ascii=False用于保留特殊字符(如示例中的西班牙语),避免转成Unicode编码
内容的提问来源于stack exchange,提问作者Martini Paulette
相关产品推荐
相关产品推荐

