1

我要做的是找到关键“符号”下的市场价值。

使用此代码,我得到了错误

File "C:\Python27\bitcoinAPI", line 9, in getmarket
    for key, value in data.items():
AttributeError: 'list' object has no attribute 'items'

这是代码:

def getmarket():
    page = urllib2.urlopen("http://bitcoincharts.com/t/markets.json")
    data = json.load(page)
    for key, value in data.items():
        if ["symbol"] == "mtgoxUSD":
            print ["symbol"]
getmarket()

我也试过这个

for key, value in data.itervalues():
for key, value in data.iteritems():

他们都说列表没有属性 iterwhatever

4

1 回答 1

2

解码您指定的 json 后,该json.load方法返回一个列表而不是字典。错误消息是指列表data没有items方法的事实。

此外,此表达式: ["symbol"] == "mtgoxUSD", 将始终返回 false,因为您正在将具有单个元素 ( "symbol") 的列表与字符串进行比较"mtgoxUSD"

此代码可能会帮助您:

def getmarket():
    page = urllib2.urlopen("http://bitcoincharts.com/t/markets.json")
    data = json.load(page)
    for elem in data:
        if elem['symbol'] == "mtgoxUSD":
            print elem
于 2013-03-24T07:46:13.223 回答