尝试访问字典索引0时的Python KeyError:dict [0]

时间:2018-01-05 08:55:02

标签: python json csv dictionary keyerror

修改:我已将此问题移至新帖子:Python: KeyError when Calling Valid Key/Index in Dict

我通过websocket成功接收了一些格式正确的JSON数据:

while True:
    result = ws.recv()    
    result = json.loads(result)

我可以像这样遍历字典:

    for i in result:
        print (i)
        print (result[i])

这将打印" Valid_Key"和" Some_value"。
但是,如果我尝试通过键名或索引访问它,我将收到一个" KeyError"。

print (result[0])

这将导致:
KeyError:0

print (result["Valid_Key"])

这将导致:
KeyError:' Valid_Key'

如何通过Python中的索引或键访问字典数据?

没有错误的示例: https://s17.postimg.org/e11brl99r/Success.jpg

KeyError示例: https://s17.postimg.org/t9r95mxvz/Key_Error.jpg

1 个答案:

答案 0 :(得分:0)

True中的问题:在第一次迭代时得到的结果为15800.0,但在第二次迭代时,你的字典不包含key ='price'

在True循环中创建一个guard,就像在for循环中一样:

while True:
    result = ws.recv()
    result = json.loads(result)
    if result and 'price' in result:
        print(result['price'])
    ...

感谢sKwa,在这里回答: Python: KeyError when Calling Valid Key/Index in Dict