我有一个JSON文件(在我的代码中定义为k
),其中包含多个级别我正在尝试分析并遇到错误我无法理解。
这是我的代码:
for i in k:
if 'pens' in k[i]:
print i+" "+str(k[i]['pens']['Papermate']['Total Quantity'])
我收到以下错误
KeyError: 'Papermate'
当它达到i
时,pens
根本不在k[i]
,但在'Papermate'
中直接k[i]
(即不是'pens'
在k[i]
)内。
在这种情况下我想要的是它完全跳过\
而不打印任何东西。
我该怎么做?
答案 0 :(得分:0)
我建议使用pformat
from pprint import pformat
import json
k = json.load(yourfile.json)
for i in k:
pformat(i)
pformat
向我们的控制台显示所有数据并检查问题,因为python没有检测到'Papermate'
密钥。
答案 1 :(得分:-1)
你在做什么看起来应该可以工作,但这取决于你如何解析json。这将是我根据您的描述编码它的方式
import json
k = json.load(yourfile.json)
for i in k:
if 'pens' in i.iterkeys():
print i+" "+str(i['pens']['Papermate']['Total Quantity'])
但没有看到实际的json
很难知道。