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

如何将API返回的JSON数据转换为DataFrame进行处理?

转换REE API JSON为DataFrame的方法

你的API返回的JSON是嵌套结构,包含多个电力平衡相关的时间序列指标。要转换成可用的DataFrame,需要先拆解嵌套的数值列表,再整合数据:

步骤1:拆解嵌套数据并整理成统一格式

import requests
import pandas as pd

url = "https://apidatos.ree.es/es/datos/balance/balance-electrico?start_date=2019-01-01T00:00&end_date=2019-01-31T23:59&time_trunc=day"
response = requests.get(url, headers={"Authorization": "Bearer "})
data = response.json()

# 初始化列表存储所有指标数据
all_records = []

# 遍历每个指标条目
for metric_item in data["data"]:
    metric_name = metric_item["attributes"]["title"]
    # 提取该指标下的所有日期-数值对
    for value_entry in metric_item["attributes"]["values"]:
        # 为每条记录添加指标名称,方便后续分组
        all_records.append({
            "datetime": value_entry["datetime"],
            "metric": metric_name,
            "value": value_entry["value"]
        })

# 转换为DataFrame
df = pd.DataFrame(all_records)

步骤2:优化数据格式(可选)

将日期字符串转为时间类型,并可将长表转为宽表(日期为索引,指标为列),更便于分析:

# 转换datetime列为时间类型
df["datetime"] = pd.to_datetime(df["datetime"])

# 转成宽表格式
wide_df = df.pivot(index="datetime", columns="metric", values="value")

处理后,df是长表格式(适合按指标分组分析),wide_df是宽表格式(适合查看同一日期下各指标的数值对比)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:21:36