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

如何合并API获取的AAPL两类机构持仓数据至单个JSON文件

合并抓取AAPL两类机构持仓数据并输出至单个JSON文件

修改思路

原纳斯达克API单次请求即可返回包含Active Positions和New and Sold Out Positions的完整数据,无需重复发起请求。只需一次请求后分别解析两类数据,再将其整合到同一个JSON结构中即可。

修改后的完整代码

import requests
import pandas as pd
import json

# 请求配置
url = 'https://api.nasdaq.com/api/company/AAPL/institutional-holdings?limit=15&type=TOTAL&sortColumn=marketValue&sortOrder=DESC'
headers = {
    'accept': 'application/json, text/plain, */*',
    'origin': 'https://www.nasdaq.com',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.79 Safari/537.36'
}

# 发起单次请求
response = requests.get(url, headers=headers)
data = response.json()['data']

# 解析两类数据
active_df = pd.json_normalize(data['activePositions']['rows'])
new_sold_df = pd.json_normalize(data['newSoldOutPositions']['rows'])

# 转换为字典并整合
combined_data = {
    "active_positions": active_df.to_dict(orient='columns'),
    "new_and_sold_out_positions": new_sold_df.to_dict(orient='columns')
}

# 写入JSON文件
with open('AAPL_institutional_combined_positions.json', 'w') as f:
    json.dump(combined_data, f, indent=4)

输出JSON示例

生成的文件会包含两类数据的结构化内容,格式如下:

{
    "active_positions": {
        "positions": {
            "0": "Increased Positions",
            "1": "Decreased Positions",
            "2": "Held Positions",
            "3": "Total Institutional Shares"
        },
        "holders": {
            "0": "1,780",
            "1": "2,339",
            "2": "283",
            "3": "4,402"
        },
        "shares": {
            "0": "239,170,203",
            "1": "209,017,331",
            "2": "8,965,339,255",
            "3": "9,413,526,789"
        }
    },
    "new_and_sold_out_positions": {
        "positions": {
            "0": "New Positions",
            "1": "Sold Out Positions"
        },
        "holders": {
            "0": "99",
            "1": "90"
        },
        "shares": {
            "0": "37,374,118",
            "1": "4,637,465"
        }
    }
}

关键说明

  • 仅发起一次HTTP请求,避免重复请求浪费资源
  • 用顶层键active_positions和new_and_sold_out_positions明确区分两类数据,结构清晰易读
  • 使用json.dump并设置indent=4保证输出JSON格式化,便于查看

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:20:42