意外的KeyError:在Python 2.7.10中
我不熟悉Python编码,我的代码遇到了一个意外错误。在此方面的任何帮助都将不胜感激意外的KeyError:在Python 2.7.10中,python,python-2.7,Python,Python 2.7,我不熟悉Python编码,我的代码遇到了一个意外错误。在此方面的任何帮助都将不胜感激 import json from urllib2 import urlopen response = urlopen("https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json") source = response.read() # print(source) data = json.loads(sou
import json
from urllib2 import urlopen
response = urlopen("https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json")
source = response.read()
# print(source)
data = json.loads(source)
# print(json.dumps(data, indent=2))
usd_rates = dict()
for item in data['list']['resources']:
name = item['resource']['fields']['name']
price = item['resource']['fields']['price']
usd_rates[name] = price
print name, price
由于“资源”>“字段”下没有标记“名称”,因此出现错误 如果您不会始终获得标记“name”,则可以添加检查:
name = item['resource']['fields'].get('name', '')
您收到错误,因为“资源”>“字段”下没有标记“名称” 如果您不会始终获得标记“name”,则可以添加检查:
name = item['resource']['fields'].get('name', '')
使用get从json/dict获取值,并使用None检查
import json
from urllib2 import urlopen
response = urlopen("https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json")
source = response.read()
# print(source)
data = json.loads(source)
# print(json.dumps(data, indent=2))
usd_rates = dict()
for item in data['list']['resources']:
name = item.get('resource').get('fields').get('name')
price = item.get('resource').get('fields').get('price')
if name is not None:
usd_rates[name] = price
print name, price
使用get从json/dict获取值,并使用None检查
import json
from urllib2 import urlopen
response = urlopen("https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json")
source = response.read()
# print(source)
data = json.loads(source)
# print(json.dumps(data, indent=2))
usd_rates = dict()
for item in data['list']['resources']:
name = item.get('resource').get('fields').get('name')
price = item.get('resource').get('fields').get('price')
if name is not None:
usd_rates[name] = price
print name, price
你确定你的字典里有一个像
name
这样的键吗?你能打印并显示你的数据['list']['resources']
的样子吗?你确定在你的字典里有一个类似名称的键吗?您能否打印并显示您的数据['list']['resources']
的外观?