新手入门:如何将CSV转换为嵌套结构的JSON字典
Python CSV转嵌套JSON格式修改方案
你只需要在遍历CSV行数据时,按照预期的嵌套规则重新组装字典即可,1000行的数据量级完全不会产生额外性能负担,可放心使用。
修改后的完整代码如下:
import csv import json filenames = 'csvfilepath.csv' result = [] with open(filenames, encoding='utf-8') as csv_file: csv_reader = csv.DictReader(csv_file) # 若不确定读取到的列名,可先执行下方代码打印确认 # print(csv_reader.fieldnames) for row in csv_reader: # 按需求构造嵌套结构 formatted_row = { "FIRST NAME": row["firstname"], "SCHOOL": { "primary": row["PRY SCHOOL"], "HIGH SCHOOL": row["HIGH SCHOOL"] }, "VEHICLE": { "MAKE": row["VEHICLEMAKE"], "COL": row["VEHICLECOL"] }, "TV MAKE": row["TVMAKE"] } result.append(formatted_row) with open('jsonfilepath.json', 'w', encoding='utf-8') as json_file: json.dump(result, json_file, indent=4, ensure_ascii=False)
注意事项:
- 如果你实际的CSV列名存在前后空格、拼写和示例不一致的情况,需要对应调整
formatted_row里取row值的key,避免KeyError - 代码里新增的
ensure_ascii=False参数可保证输出的JSON不会将非ASCII字符转义,如果你后续有中文等字符需求可保留,不需要的话删除即可
内容的提问来源于stack exchange,提问作者AbdRaheem
相关产品推荐
相关产品推荐

