使用Python分析JSON文件时出错

时间:2015-09-29 08:22:41

标签: python json dictionary

我有一个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])内。

在这种情况下我想要的是它完全跳过\而不打印任何东西。

我该怎么做?

2 个答案:

答案 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很难知道。