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

如何通过pandas to_json直接生成带指定根对象的合规JSON文件

直接用Pandas生成指定结构的JSON文件

你可以通过以下步骤实现需求,无需事后编辑JSON文件:

  1. 读取CSV数据:保留原有的读取逻辑
  2. 生成数据数组:用df.to_dict('records')将DataFrame转换为对象数组,这是你需要的核心数组结构
  3. 构造目标JSON结构:把生成的数组嵌套到vendorslist根键下
  4. 写入JSON文件:用json模块将构造好的完整结构写入文件,保证格式符合要求

修改后的完整代码

import pandas as pd
import json

# 读取CSV,保留原参数
df = pd.read_csv('test_input.csv', na_filter=False, skiprows=0)

# 生成对象数组,再套入根键结构
output_data = {"vendorslist": df.to_dict('records')}

# 写入JSON文件,指定缩进格式
with open("test_out.json", 'w') as f:
    json.dump(output_data, f, indent=2)

示例说明

  • 输入CSV内容:
    vendor,issuer
    honda.com,DigiCert
    toyota.com,GoDaddy
    
  • 生成的test_out.json内容:
    {
      "vendorslist": [
        {
          "vendor": "honda.com",
          "issuer": "DigiCert"
        },
        {
          "vendor": "toyota.com",
          "issuer": "GoDaddy"
        }
      ]
    }
    

原方法问题说明

原代码用orient='index'时,Pandas会以行号字符串作为键,生成类似{"0": {...}, "1": {...}}的结构,不符合你需要的数组格式。而orient='records'会直接生成每行对应一个对象的数组,再将这个数组放到vendorslist键下,就能一步得到目标结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:31:02