如何将Pandas DataFrame转换为指定结构的嵌套JSON输出
pandas DataFrame 转指定结构JSON 实现方法
你需要先按代理商(a1字段)分组,将每组的行数据整理为agents数组的内容,最后在外层包裹quotes结构即可,以下是完整可运行代码:
import pandas as pd import json # 构造示例DataFrame,你可以替换为自己的读入逻辑(比如pd.read_csv读入) data = [ ["agent1", "abc", "quote1", "NJ", 19029], ["agent1", "abc", "quote1", "NJ", 19029], ["agent2", "xyz", "quote2", "CA", 95003], ["agent2", "xyz", "quote2", "CA", 95003] ] df = pd.DataFrame(data, columns=["a1", "a2", "a3", "a4", "a5"]) # 将a5转为字符串类型,匹配你要求的输出格式 df["a5"] = df["a5"].astype(str) # 按a1分组构造目标结构,sort=False保持原数据的代理商顺序 quotes_list = [] for _, group in df.groupby("a1", sort=False): # 组内每行转换为字典,放入agents字段 agents = group.to_dict("records") quotes_list.append({"agents": agents}) # 外层包裹quotes得到最终结构 result = {"quotes": quotes_list} # 打印格式化后的JSON print(json.dumps(result, indent=4, ensure_ascii=False)) # 如果需要保存到本地JSON文件,可使用下面的代码 # with open("output.json", "w", encoding="utf-8") as f: # json.dump(result, f, indent=4, ensure_ascii=False)
运行代码输出的JSON结构和你要求的完全一致。
内容的提问来源于stack exchange,提问作者Shiva
相关产品推荐
相关产品推荐

