2017-07-24 143 views
1

有人可以帮助我理解如何将文件/循环的结果传递到另一个循环。从文件中读取以获取和打印JSON数据

基本上我试图从Google财经阅读金融工具。我能够在没有任何问题的情况下传递一个符号,但我试图学习如何使此过程变为动态并从文件中读取符号。所以,将来我只能更改文件。

所以,这就是我正在做的...从文件(符号)中读取符号,循环浏览文件并将结果传递给json.dumps。

然而,这只是最后一个符号,而不是全部。

任何帮助表示赞赏。

这是我的代码:

reader = open('symbols','r') 
refile = reader.readlines() 
for sim in refile: 
    quotes = json.dumps(getQuotes([sim])) 
    data = json.loads(quotes) 
for item in data: 
    for k, v in item.items(): 
     #if "LastTradePrice" in k: 
      print k, v 

这是我想从读取文件:

GOOG 
AAPL 
IBM 
CAR 
GLD 
+0

什么是'getQuotes'?这很重要。 –

+0

它是谷歌金融提供的对象之一.....从googlefinance进口getQuotes –

回答

2

的问题是你的压痕。你需要第二次为第一内环,所以它可以遍历的data每一个值,而不是最后:

reader = open('symbols','r') 
refile = reader.readlines() 
for sim in refile: 
    quotes = json.dumps(getQuotes([sim])) 
    data = json.loads(quotes) 

    for item in data: 
     for k, v in item.items(): 
      #if "LastTradePrice" in k: 
       print k, v 
+0

完美,这工作得很好。 –

+0

你知道我怎么能得到上市股票的名字?所以,对于第一个,它将是GOOG ...最后交易价格972.00 –

+0

@JZi你的意思是'print sim,k,v'? –