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():

彼らは皆、リストには属性が何もないと言っています

4

1 に答える 1

2

指定したjsonをデコードした後、json.loadメソッドは辞書ではなくリストを返します。エラーメッセージは、リストdataにメソッドがないことを示していitemsます。

また、この式:["symbol"] == "mtgoxUSD"、は、単一の要素("symbol")を持つリストを文字列と比較しているため、常にfalseを返します"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 に答える