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

如何将带父节点的JSON转换为CSV?转换后能否还原为原JSON?

带Quote父节点的JSON与CSV互转方案

这类带顶层父节点的JSON对应CSV的呈现规则

你遇到的是最常见的单层包裹型嵌套JSON,CSV里不需要单独为父节点设置冗余列,呈现逻辑非常清晰:

  • CSV的列直接对应Quote父节点下各子记录的字段,CSV每一行代表Quote节点下的一条完整子记录
  • 如果Quote下的子节点存在二级及以上嵌套(比如子对象、数组),用上级字段.下级字段的规则拍平列名即可,不会丢失层级信息

举个最小结构示例:
原始JSON结构:

{
  "Quote": [
    {"quote_id": 1, "content": "示例引用内容1", "author": "作者A"},
    {"quote_id": 2, "content": "示例引用内容2", "author": "作者B"}
  ]
}

对应转换后的CSV内容:

quote_id,content,author
1,示例引用内容1,作者A
2,示例引用内容2,作者B

可直接运行的转换代码

不需要找第三方在线工具,用Python几行代码就能完成转换,兼容所有同结构JSON:

  1. JSON转CSV
    import json
    import pandas as pd
    
    # 替换为你本地JSON文件的实际存储路径
    with open("your_file.json", "r", encoding="utf-8") as f:
        raw_json = json.load(f)
    
    # 自动提取Quote父节点下的内容,拍平所有嵌套字段
    df = pd.json_normalize(raw_json["Quote"])
    # 导出CSV,utf-8-sig编码兼容Excel直接打开不乱码
    df.to_csv("quote_result.csv", index=False, encoding="utf-8-sig")
    
  2. 编辑后CSV回转JSON
    只要你编辑CSV时不修改原有列名、不破坏原有列的取值格式,回转后可以100%还原原始的带Quote父节点的结构,回转代码如下:
    import json
    import pandas as pd
    
    # 替换为你编辑后的CSV文件路径
    df = pd.read_csv("edited_quote.csv", encoding="utf-8-sig")
    # 还原带Quote父节点的原始结构
    restore_json = {"Quote": df.to_dict(orient="records")}
    
    with open("restored_quote.json", "w", encoding="utf-8") as f:
        json.dump(restore_json, f, ensure_ascii=False, indent=2)
    

注意事项

  • 如果原始JSON的Quote下存在数组类嵌套字段,拍平后列名会带序号(比如tags.0、tags.1),编辑时不要修改这类列名,否则回转时会丢失数组结构
  • 不要在CSV中使用合并单元格、公式、富文本格式,否则读取时会出现值异常,导致回转结果和原始结构不一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 12:27:17