擅长python和编程。如何使用for循环创建包含两个API的字典(一个从S& P 500公司的字典中提取股票代码,另一个是yahoo_finance以提取相应的市值数据),另外还可以更新以替换现有数据。
import sp500
from yahoo_finance import Share
tickers = {}
for d in sp500:
for k, v in tickers.items():
retrieveticker = d['symbol']
yahoodata = Share(retrieveticker)
dict = {retrieveticker,yahoodata.get_market_cap(retrieveticker)}
tickers.update(dict)
print tickers
换句话说。主要目标是下载sp500公司名单,找到相应的市值,并创建以股票代码为关键字的字典,以及市值作为其价值。
先谢谢。
答案 0 :(得分:0)
我相信您要做的是将您的商品打包到{}
中,这样就会创建一个字典而不是一个字符集,如下所示:
yahoo = {'key': 'value'}
retrieveticker = {'key2': 'value2'}
a_dict = {**retrieveticker, **yahoo}
a_dict
{'key': 'value', 'key2': 'value2'}
另外,请勿将dict
用于变量名称。
我没有yahoo_finance
,但这就是您的代码中的样子:
for d in sp500:
for k, v in tickers.items():
retrieveticker = d['symbol']
yahoodata = Share(retrieveticker)
a_dict = {**retrieveticker, **yahoodata.get_market_cap(retrieveticker)}
tickers.update(a_dict)
假设retrieveticker
和yahoodata.get_market_cap(retrieveticker)
都是dicts。
答案 1 :(得分:0)
我相信你只想将这些值添加到字典中:
tickers[retrieveticker] = yahoodata.get_market_cap(retrieveticker)
而不是在for循环的每次迭代结束时使用的两行。