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

如何将API请求返回的JSON文本字符串转换为pandas dataframe?

解决方案

你可以按以下步骤将Alpha Vantage接口返回的JSON格式数据转换为pandas DataFrame:

  • 先验证请求状态,解析响应的JSON内容
  • 提取嵌套的时序数据节点,调整行列结构适配DataFrame格式
  • 优化字段名、转换数值类型方便后续分析

你现有的请求代码后追加以下代码即可直接运行:

import pandas as pd

# 校验请求是否成功
if response1.status_code == 200:
    # 解析响应为字典格式
    res_json = response1.json()
    # 时序数据对应key,和你参数里的interval保持一致即可
    time_series_key = "Time Series (1min)"
    if time_series_key in res_json:
        ts_data = res_json[time_series_key]
        # 转DataFrame后转置,让时间戳作为行维度
        df = pd.DataFrame(ts_data).T
        # 重置索引,把时间戳从索引转为独立列
        df = df.reset_index(names=["交易时间"])
        # 重命名字段去掉前缀数字,简化后续调用
        df = df.rename(columns={
            "1. open": "开盘价",
            "2. high": "最高价",
            "3. low": "最低价",
            "4. close": "收盘价",
            "5. volume": "成交量"
        })
        # 把价格、成交量字段从字符串转为数值类型
        df[["开盘价", "最高价", "最低价", "收盘价", "成交量"]] = df[["开盘价", "最高价", "最低价", "收盘价", "成交量"]].apply(pd.to_numeric)
        # 打印前5行验证结果
        print(df.head())
    else:
        print("无对应时序数据返回,请检查请求参数是否正确")
else:
    print(f"请求失败,状态码:{response1.status_code},错误详情:{response1.text}")

补充说明

如果你修改请求参数将datatype设为csv,可以直接通过更简单的方式生成DataFrame:

df = pd.read_csv(response1.text)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:24:02