如何将pandas DataFrame映射转换为符合指定Schema的JSON格式
实现代码
你不需要使用复杂的groupby逻辑,直接逐行处理结构更清晰,代码可维护性也更高:
import pandas as pd import json # 示例DataFrame构造,可替换为你自己的数据源 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_level_cols = ['text', 'date', 'channel', 'sentiment'] field_cols = ['product', 'segment'] # 核心转换逻辑 def row_to_struct(row): # 生成顶级字段字典 struct = row[top_level_cols].to_dict() # 生成fields数组 struct['fields'] = [{"field": col, "value": row[col]} for col in field_cols] return struct # 转换为目标结构后输出JSON result_list = df.apply(row_to_struct, axis=1).tolist() json_output = json.dumps(result_list, indent=2, ensure_ascii=False) print(json_output)
运行后输出的JSON结构和你要求的格式完全一致。后续如果需要调整字段分类,只需要修改top_level_cols和field_cols两个列表即可,不需要改动核心逻辑。
内容的提问来源于stack exchange,提问作者Matthew Skinner
相关产品推荐
相关产品推荐

