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

如何将Pandas DataFrame转换为指定结构的嵌套JSON数据

Pandas DataFrame转指定嵌套结构JSON解决方案

你不需要使用groupby做复杂分组,直接逐行处理字段映射即可,完整可运行代码如下:

import pandas as pd
import json

# 构造样例DataFrame,实际使用时替换为你自己的df即可
df = pd.DataFrame([{
    "text": "I like the new layout",
    "date": "2021-08-30T18:15:22Z",
    "channel": "Snowflake",
    "sentiment": "predict",
    "product": "Skills",
    "segment": "EMEA"
}])

# 配置字段分类:顶层直接输出的列、要放入fields数组的列
top_cols = ["text", "date", "channel", "sentiment"]
field_cols = ["product", "segment"]

# 逐行生成目标结构
output_list = df.apply(
    lambda row: {
        **row[top_cols].to_dict(),
        "fields": [{"field": col, "value": row[col]} for col in field_cols]
    },
    axis=1
).tolist()

# 导出为格式化JSON字符串
json_result = json.dumps(output_list, indent=2, ensure_ascii=False)
print(json_result)

运行后输出的结构完全符合你的要求:

[
  {
    "text": "I like the new layout",
    "date": "2021-08-30T18:15:22Z",
    "channel": "Snowflake",
    "sentiment": "predict",
    "fields": [
      {
        "field": "product",
        "value": "Skills"
      },
      {
        "field": "segment",
        "value": "EMEA"
      }
    ]
  }
]

说明

  • 之前方案出问题是因为不需要分组操作,每行本身就是一个独立的输出对象,逐行映射字段即可
  • 如果后续要新增放到fields的列,直接往field_cols列表加列名即可,无需修改核心逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:45:04