如何将YahooFinancials返回的嵌套字典转换为指定结构的pandas DataFrame
嵌套字典转目标结构DataFrame调整方案
问题根源
你当前返回的balanceSheetHistoryQuarterly结构中,每个股票代码对应的值是多期财报的列表,取最新一期后还需要剥离外层的日期字段,提取内层的财务指标字典,再合并生成目标结构。
调整后完整代码
import pandas as pd from yahoofinancials import YahooFinancials tickers = ['AZN.ST','ERIC-B.ST','SAND.ST'] yahoo_financials = YahooFinancials(tickers) state = yahoo_financials.get_financial_stmts('quarterly','balance',reformat=True) data = state['balanceSheetHistoryQuarterly'] # 逐个提取每个股票的最新季度财务指标 ticker_fin_dict = {} for ticker, quarterly_reports in data.items(): # 取最新一期财报,剥离外层的日期key,拿到指标字典 latest_report_data = list(quarterly_reports[0].values())[0] ticker_fin_dict[ticker] = latest_report_data # 直接生成目标结构DataFrame finaldf = pd.DataFrame(ticker_fin_dict)
输出验证
生成的finaldf天然符合需求:行索引为accountsPayable、capitalSurplus等财务属性,列名为传入的股票代码。
内容的提问来源于stack exchange,提问作者Oscar Lundberg
相关产品推荐
相关产品推荐

