【问题标题】:Python lengh of json is incorrectjson的Python长度不正确
【发布时间】:2015-12-22 00:02:40
【问题描述】:

我的问题是我加载的json对象的长度不对。不能为1,数据对象多。

我该如何解决这个问题?

这是代码:

import urllib
import json

applesource = urllib.urlopen("http://www.bloomberg.com/markets/api/bulk-time-series/price/AAPL%3AUS?timeFrame=1_YEAR")

appledata = json.load(applesource)

print appledata
print len(appledata)

【问题讨论】:

    标签: json python-2.7 urllib


    【解决方案1】:

    Pretty-print对象:

    from pprint import pprint
    pprint(appledata)
    

    您会很快看到appledata 列表中有一个字典:

    [{u'dateTimeRanges': {},
      u'id': u'AAPL:US',
      u'lastPrice': 107.33,
      u'lastUpdateDate': u'2015-12-21',
      u'nyTradeEndTime': u'16:30:00.000',
      u'nyTradeStartTime': u'09:30:00.000',
      u'price': [{u'date': u'2014-12-22', u'value': 112.94},
                 {u'date': u'2014-12-23', u'value': 112.54},
                 {u'date': u'2014-12-24', u'value': 112.01},
                 {u'date': u'2014-12-26', u'value': 113.99},
                 {u'date': u'2014-12-29', u'value': 113.91},
                 {u'date': u'2014-12-30', u'value': 112.52},
                 {u'date': u'2014-12-31', u'value': 110.38},
                 {u'date': u'2015-01-02', u'value': 109.33},
                 {u'date': u'2015-01-05', u'value': 106.25},
                 {u'date': u'2015-01-06', u'value': 106.26},
                 {u'date': u'2015-01-07', u'value': 107.75},
                 {u'date': u'2015-01-08', u'value': 111.89},
                 {u'date': u'2015-01-09', u'value': 112.01},
                 {u'date': u'2015-01-12', u'value': 109.25},
                 {u'date': u'2015-01-13', u'value': 110.22},
                 {u'date': u'2015-01-14', u'value': 109.8},
                 {u'date': u'2015-01-15', u'value': 106.82},
                 ...
                 {u'date': u'2015-12-21', u'value': 107.33}],
      u'priceMinDecimals': 2,
      u'timeZoneOffset': -5}]
    

    您可能想查看价格:

    prices = appledata[0]["price"] 
    print(len(prices))  # prints 252
    

    【讨论】:

    • 谢谢,现在我明白了,我不知道字典,我对 python 很陌生。如何仅提取全年的价格和日期?
    • @PedramShahlaifar 迭代价格:for price in prices: ... - 现在在每次迭代中,获取 price["date"]price["value"]
    【解决方案2】:

    appledata 是一个包含一个元素的列表。字典是appledata[0]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 2017-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      相关资源
      最近更新 更多