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

如何将嵌套JSON转换为指定列名格式的Pandas DataFrame

嵌套JSON转指定格式Pandas DataFrame实现方案

依赖库导入

首先导入需要用到的依赖:

import pandas as pd
import json

数据解析与转换

步骤1:加载JSON数据

假设你的JSON数据已存储为字符串变量json_str,可直接解析;如果是本地JSON文件,可通过文件读取加载:

# 解析JSON字符串
raw_data = json.loads(json_str)

# 若为本地JSON文件,使用如下代码加载
# with open("你的JSON文件路径.json", "r", encoding="utf-8") as f:
#     raw_data = json.load(f)

步骤2:提取字段组装结果数据

遍历嵌套层级提取所需字段,拼接列名并存值:

# 初始化结果字典
res_dict = {}

# 提取博彩商列表(示例中仅含1个赛事项,故取raw_data["data"][0],若有多个赛事可在外层加遍历)
bookmaker_list = raw_data["data"][0]["bookmaker"]["data"]

for bookmaker in bookmaker_list:
    bk_name = bookmaker["name"]
    # 遍历当前博彩商的所有赔率项
    for odds in bookmaker["odds"]["data"]:
        # 拼接赔率列名:赔率label_博彩商名称
        col_name = f"{odds['label']}_{bk_name}"
        # 赔率值转浮点型存储
        res_dict[col_name] = [float(odds["value"])]
    # 新增当前博彩商的更新时间列(同博彩商下所有赔率更新时间一致,取第一条即可)
    update_col_name = f"last_update_{bk_name}"
    res_dict[update_col_name] = [bookmaker["odds"]["data"][0]["last_update"]["date"]]

步骤3:转换为DataFrame

df = pd.DataFrame(res_dict)

执行后得到的df就是你要求的输出格式。如果需要调整列名大小写(比如示例中预期列名是LadBrokes,原始数据为Ladbrokes),可以在拼接列名时对bk_name做字符串格式化处理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:06:03