【问题标题】:Read from a file to get and print JSON data从文件中读取以获取和打印 JSON 数据
【发布时间】:2017-12-30 08:48:47
【问题描述】:

谁能帮我理解如何将文件/循环的结果传递到另一个循环中。

基本上,我正在尝试从 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

【问题讨论】:

  • 什么是getQuotes?这很重要。
  • 它是谷歌金融提供的对象之一..... from googlefinance import getQuotes

标签: python list loops dictionary iteration


【解决方案1】:

问题是你的缩进。您需要在第一个循环中使用第二个 for 循环,因此它可以遍历 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

【讨论】:

  • 你知道我怎样才能列出股票代码的名称吗?因此,对于第一个,它将是 GOOG ... 最后交易价格 972.00
  • @JZi 你是说print sim, k, v?
  • @JZi 你是新来的……我想让你看看this
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多