我从Yahoo下载股票数据文件以获取符号列表
list_of_stocks = ['AAPL', 'GOOG', 'YHOO', 'NFLX']
for symbols in list_of_stocks:
globals()['%s' % symbols] = DataReader(symbols, 'yahoo')
现在,下载的数据框保存为AAPL,GOOG,YHOO和NFLX。然后,我想将所有这些dfs传递给一个函数,例如
def check(data):
return data
我的问题是如何发送所有这些dfs来检查功能?我试过了:
for symbols in list_of_stocks:
print(check(symbols))
它不适合我,这个循环只是发送字符串(AAPL,...)而不是实际的数据帧。
答案 0 :(得分:0)
您设法声明并分配变量,但您不知道如何访问它们。这让我觉得你在问题细节中的第一个片段不是你写的。
由于这个想法,我将解释你的第一个代码片段正在做什么。
list_of_stocks = ['AAPL', 'GOOG', 'YHOO', 'NFLX']
for symbols in list_of_stocks:
globals()['%s' % symbols] = DataReader(symbols, 'yahoo')
好的,您调用了globals()
函数,该函数为您提供了解释器在尝试查找全局变量时所看到的字典的引用。然后,您将数据帧作为值放入,并在字符串中使用相应的键symbols
。在for循环中迭代symbols
,我们就完成了。
现在,给定您刚刚迭代的相同列表,如何再次从字典中获取值?
for symbols in list_of_stocks:
print(check(globals()['%s' % symbols]))
您分配它们的方式。周期。