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

如何使用Python修改JSON文件的键并重新格式化输出?

没问题,这事儿其实挺简单的,咱们一步步来把JSON结构转成你想要的样子:

解决方法

核心思路就是把原JSON里每个对象的detail数组元素,按顺序映射到新的键名上,同时做一些格式和类型的小调整,最后输出新的JSON。

完整代码实现

import json

# 读取原始JSON文件
with open('your_input_file.json', 'r', encoding='utf-8') as input_file:
    raw_data = json.load(input_file)

transformed_list = []

# 遍历每一条数据进行转换
for entry in raw_data:
    detail_fields = entry['detail']
    # 映射字段,同时处理格式问题
    transformed_entry = {
        "name": detail_fields[0].strip(),  # 去除名字首尾的空格
        "address": detail_fields[1].strip().replace(' ,', ','),  # 修正地址里的逗号格式
        "gender": "Male" if detail_fields[2].strip() == "M" else "Female",
        "degree": detail_fields[3].strip(),
        "roll_no": int(detail_fields[4].strip())  # 把字符串学号转成整数
    }
    transformed_list.append(transformed_entry)

# 将转换后的数据写入新JSON文件
with open('your_output_file.json', 'w', encoding='utf-8') as output_file:
    json.dump(transformed_list, output_file, indent=2, ensure_ascii=False)

代码细节说明

  • 读取与写入:用Python内置的json模块处理文件读写,encoding='utf-8'确保支持特殊字符,indent=2让输出的JSON格式更易读。
  • 字段处理:
    • 用strip()去除每个字段首尾的多余空格,比如原数据里名字末尾的空格、地址开头的空格。
    • 地址里的replace(' ,', ',')是为了把"Biratnagar , Morang,"这类格式修正成更规范的"Biratnagar,Morang"。
    • 性别字段根据原数据的"M"映射成"Male",如果以后有"F"的情况,代码也能自动转成"Female"。
    • 学号roll_no转成整数类型,比字符串类型更符合数据语义。

你只需要把代码里的your_input_file.json换成你实际的输入文件名,your_output_file.json换成你想要的输出文件名,运行代码就能得到你期望的JSON格式啦。

内容的提问来源于stack exchange,提问作者dsnewguy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:20:08