2017-10-10 27 views
-1

我正在做一个Python脚本,必须阅读这种类型的词典的Python:快译通阅读并不总是成功

{'error': [], 
'result': {'XXBTZEUR': [[1507633993, '4074.00000', '4074.90000'], 
         [1507633994, '4074.00000', '4075.00000'], 
         [1507634006, '4074.50000', '4075.00000'], 
         [1507634043, '4074.50000', '4074.90000'], 
         [1507634046, '4074.50000', '4075.00000'], 
         [1507634046, '4074.50000', '4075.50000'], 
         [1507634056, '4075.00000', '4075.50000'], 
         [1507634064, '4075.00000', '4075.60000'], 
         [1507634064, '4074.50000', '4075.60000'], 
         [1507634119, '4075.00000', '4075.50000'], 
         [1507634122, '4075.50000', '4075.50000'], 
         [1507635113, '4075.50000', '4075.60000']], 
         'last': 1507635113}} 

但在执行一些指令,通过阅读

result = result['result'][pair] 

,其中对为在例子'XXBTZEUR'中,它没有正确执行,并且它会读取命令中没有出现的“最后”字段。

为什么?

我要感谢所有会帮助我的人,以及英语写得不好。

+1

为什么你变量命名结果,还有你读的字典?不应该有一个不同的名字 – AK47

+0

你真正的问题是什么,你想做什么 –

+0

我试图将名称更改为变量,但结果没有改变。我使用该指令是因为旧内容对我不感兴趣 –

回答

0

'最后'条目未存储在'XXBTZEUR'条目中的数组中,它是存储在'result'中的字典中的自己的条目。

result['result']['XXBTZEUR'] 

给出预期, 获得“最后”的条目,你不得不做阵列

result['result']['last'] 

为了更容易看到:

{'error': 
    [], 
    'result': { 
      'XXBTZEUR': [[1507633993, '4074.00000', '4074.90000'], 
         [1507633994, '4074.00000', '4075.00000'], 
         [1507634006, '4074.50000', '4075.00000'], 
         [1507634043, '4074.50000', '4074.90000'], 
         [1507634046, '4074.50000', '4075.00000'], 
         [1507634046, '4074.50000', '4075.50000'], 
         [1507634056, '4075.00000', '4075.50000'], 
         [1507634064, '4075.00000', '4075.60000'], 
         [1507634064, '4074.50000', '4075.60000'], 
         [1507634119, '4075.00000', '4075.50000'], 
         [1507634122, '4075.50000', '4075.50000'], 
         [1507635113, '4075.50000', '4075.60000']], 
      'last': 1507635113}} 
+0

这将帮助您 –

+0

问题不在于读取字段“last”,有时是读取“XXBTZEUR”字段(“XXBTZEUR”值存储在变量“pair”中)而不是读取“last”字段 –

+0

所以你想要大二维数组,但得到数字(1507635113)? –