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

如何通过Python脚本为生成的JSON输出添加额外字段与嵌套结构

修改后的Python脚本及说明

如果你需要保持原脚本的JSON Lines(每行一个JSON对象)输出格式,可使用以下修改后的代码:

import pandas as pd
import json

df = pd.read_csv('example.csv')
# 填充空值为空字符串,解决原输出JSON语法错误问题
df = df.fillna('')
# 筛选并重命名目标列
dfnew = df[['request', 'text']].rename(columns={'request':'id','text':'package'})

with open('something.json','w', encoding='utf-8') as f:
    for _, row in dfnew.iterrows():
        # 手动构造要求的嵌套结构
        output_item = {
            "id": row["id"],
            "data": {
                "package": row["package"]
            }
        }
        f.write(json.dumps(output_item, ensure_ascii=False) + '\n')

核心修改点

  • 新增空值处理:用fillna('')将所有空值填充为空字符串,解决原输出中package字段后无值导致的JSON语法错误
  • 调整结构生成逻辑:不再直接使用pandas默认的平级结构转JSON逻辑,遍历每一行手动构造带data嵌套的目标结构
  • 用标准json库做序列化,保证输出格式完全符合JSON规范

如果你需要输出的是一个完整的JSON数组而非JSON Lines格式,将写入部分替换为以下代码即可:

output_list = []
for _, row in dfnew.iterrows():
    output_list.append({
        "id": row["id"],
        "data": {
            "package": row["package"]
        }
    })
with open('something.json','w', encoding='utf-8') as f:
    json.dump(output_list, f, ensure_ascii=False, indent=2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:12:03