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

Pandas处理Snowflake数据生成LoopVOC API要求的嵌套数组JSON格式问题

可行解决方法

你已经完成了核心的数据聚合逻辑,仅需要对生成的结构做最小改动即可匹配API要求:

方案1:直接转换已生成结构(改动量最小,推荐)

你当前输出的fields已经是符合要求的对象,仅需要额外包裹一层数组即可,修改代码如下:

j = (df.groupby(['text','date','channel','sentiment'], as_index=False)
             .apply(lambda x:x[[
                 'product',
                 'segment',
                 '2b6276da-b135-4258-9971-cb08c070d859',
                 '7b84b8fc-5494-4fcb-bac7-ca91dc8faa32',
                 '5042388c-3144-4b5d-9aab-f0d03345646b',
                 '27cf2f54-3686-48c9-bfe4-5a6c70e90854',
                 '03de58c3-4ea0-4286-b5c4-1b8cef53646d',
                 'edee1277-1668-4e89-b206-5de08e8b3dc5',
                 'c9db7ba2-3c9f-40a8-852e-20ce5e8a5e8f',
                 'cb8d1d94-8976-4b31-9844-e47857226c2d',
                 '806335a9-e8ea-45b4-9904-54c52f1698e4',
                 'b2dfd157-436f-43a2-8ca2-36b5fe1fae54',
                 '511cfd95-8250-4796-97e1-9b02fb91e147',
                 '69c06db4-cc43-4dbb-abcb-6d5f40bfef08',
                 'ecdf55c5-bce9-4bc6-bca2-921d7c140dc2',
                 '6b711ef9-b789-48b5-97f3-7183bc5d6fa7',
                 'bfbc0bf1-49ca-4cb0-a76c-82999034e7cc',
                 'ee64e90c-0116-4fba-992d-6f6df1b0cfef',
                 '3c6edd01-bfa6-46c0-a9ea-5ffc01453f51'
             ]].to_dict('records'))
             .rename(columns={None:'fields'})
             .to_json(orient='records'))
# 新增字段转换逻辑
parsed_data = json.loads(j)
for item in parsed_data:
    item['fields'] = [item['fields']]
# 按要求序列化输出
data = json.dumps(parsed_data, indent=2, sort_keys=True)
print(data)

方案2:修改pandas聚合逻辑

如果不想后续做额外转换,也可以在apply阶段就强制保留列表结构,修改apply的返回逻辑即可:

.apply(lambda x: [x[[...]].to_dict('records')[0]])

内容的提问来源于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.05 06:21:01