如何将iexfinance的get_financials()嵌套字典输出转换为DataFrame
问题解答
1. 返回的嵌套字典是否标准?
是标准嵌套字典,get_financials()接口返回的结构为股票代码→报告期→财务指标的三层嵌套结构,你遇到的指定output_format='pandas'仍返回字典的情况,是该接口多期数据适配pandas格式的已知兼容问题,并非你的调用逻辑有误。
2. 转换为目标DataFrame的方法
你要的2行、股票代码为索引、财务指标为列的格式,可通过以下代码实现,和get_company()的输出格式完全对齐:
import pandas as pd # 拆解3D嵌套字典,构造目标格式 processed = [] for ticker, fin_periods in fins_data.items(): # 你的返回结构为2x1x70,取每个股票下唯一一期的财务数据即可 current_fin = fin_periods[0] current_fin['ticker'] = ticker processed.append(current_fin) # 转换为DataFrame并设置股票代码为索引 fins_df = pd.DataFrame(processed).set_index('ticker')
如果你后续需要查询多期财务数据,可在上述循环中额外增加报告期日期的字段提取逻辑,即可生成包含多期数据的长表或宽表。
内容的提问来源于stack exchange,提问作者JP1
相关产品推荐
相关产品推荐

