如何将SEC发布的特殊结构JSON转换为指定列的pandas DataFrame
SEC公开JSON文件转Pandas DataFrame实现方案
首先导入所需依赖库:
import pandas as pd import requests
在线拉取并转换实现
# 配置请求头避免SEC拦截无UA的请求,返回403错误 headers = {"User-Agent": "Mozilla/5.0"} # 拉取JSON数据 response = requests.get("https://www.sec.gov/files/company_tickers_exchange.json", headers=headers) json_data = response.json() # 直接使用JSON内置字段构造DataFrame df = pd.DataFrame(data=json_data["data"], columns=json_data["fields"])
本地JSON文件转换实现
如果已经提前把JSON文件下载到本地,可直接读取本地文件生成DataFrame:
import json import pandas as pd with open("company_tickers_exchange.json", "r", encoding="utf-8") as f: json_data = json.load(f) df = pd.DataFrame(data=json_data["data"], columns=json_data["fields"])
验证结果
可通过以下代码查看生成的DataFrame结构是否符合预期:
# 查看前5行数据 print(df.head()) # 查看列名 print(df.columns.tolist())
- 生成的DataFrame默认列顺序为
cik、name、ticker、exchange,与需求完全匹配 - 无需额外做数据格式转换或字段映射,该JSON结构直接适配Pandas DataFrame的初始化参数
内容的提问来源于stack exchange,提问作者gunardilin
相关产品推荐
相关产品推荐

