此代码有效:
#!/usr/bin/env python3
import urllib.request, json
url = urllib.request.urlopen('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22DKKNOK%2CEURNOK%2CGBPNOK%2CISKNOK%2CNOKNOK%2CPLNNOK%2CSEKNOK%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys')
data = json.loads(url.read().decode(url.info().get_content_charset('utf-8')))
print(data['query']['results']['rate'][:])
它一起打印出所有7个元素data['query']['results']['rate']
。
因此,我认为此代码也应该起作用:
#!/usr/bin/env python3
import urllib.request, json
url = urllib.request.urlopen('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22DKKNOK%2CEURNOK%2CGBPNOK%2CISKNOK%2CNOKNOK%2CPLNNOK%2CSEKNOK%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys')
data = json.loads(url.read().decode(url.info().get_content_charset('utf-8')))
for d in data['query']['results']['rate'][:]
print(d)
使用for
循环并打印出中的每个元素data['query']['results']['rate']
。
但是,这不起作用,并给出一个错误。
如何在Python中遍历json元素?
无需[:]
仅遍历数据:
for d in data['query']['results']['rate']:
print(d)
.. 应该管用。您错过了:
。
您还可以在.json()
请求的响应中直接使用该方法,以将JSON解码为python结构。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句