我正在尝试下载多个公司股票代码的财务比率数据,并将数据保存到一个数据框中。我使用了一个函数来与api交互并下载json文件,然后我尝试创建一个for循环来遍历tickers字典。
api_key = 'API KEY REMOVED FOR PRIVACY'
def get_ratios(stock):
url = (f'https://financialmodelingprep.com/api/v3/ratios/{stock}?limit=40&apikey={api_key}')
x = pd.read_json(url)
return x
仅使用函数get_rations('aapl')返回一个 Dataframe ,但我希望能够检索多个ticker的数据,而不仅仅是aapl。
我尝试创建一个for循环,以便能够检索多个ticker的数据。当我尝试将函数保存到 Dataframe 时,仅保存aan的数据。。因此,我认为它必须覆盖aapl的数据。我不确定如何修复此问题,我已尝试创建另一个for循环。将 Dataframe y附加到自身,但我刚刚返回一个错误。
ticker = ['AAPL','AAN']
for i in ticker:
y = get_ratios(i)
但当我不将get_ratio(i)保存到一个列表中并按如下所示运行它时,我会得到一个aapl和aan数据的列表。
ticker = ['AAPL','AAN']
for i in ticker:
print(get_ratios(i))
符号日期期间当前比率快速比率现金比率
0 aapl 2020-09-26财年1.363604 1.218195 0.360710
1 aapl 2019-09-28财年1.540126 1.384447 0.462022
2 aapl 2018-09-29财年1.123843 0.986566 0.221733
3 aapl 2017-09-30财年1.276063 1.089670 0.201252
2条答案
按热度按时间rsaldnfx1#
将 Dataframe 放在返回框旁边
get_ratios()
到列表中,并作为最后一步pd.concat
将 Dataframe 合并为一。例如:q5lcpyga2#
在一行中使用列表理解和
pd.concat
,你可以: