在python中使用Json时出现Keyerror

在python中使用Json时出现Keyerror,python,json,Python,Json,我正在使用一个基本脚本从交易所检索一些交易数据,以下是响应: {'info': {'symbol': 'ETHBTC', 'orderListId': -1, 'price': '0.01083700', 'origQty': '0.01800000', 'executedQty': '0.00000000', 'cummulativeQuoteQty': '0.00000000', 'status': 'NEW', 'timeInForce': 'GTC', '

我正在使用一个基本脚本从交易所检索一些交易数据,以下是响应:

{'info': {'symbol': 'ETHBTC',
  'orderListId': -1,
  'price': '0.01083700',
  'origQty': '0.01800000',
  'executedQty': '0.00000000',
  'cummulativeQuoteQty': '0.00000000',
  'status': 'NEW',
  'timeInForce': 'GTC',
  'type': 'LIMIT',
  'side': 'BUY',
  'stopPrice': '0.00000000',
  'icebergQty': '0.00000000',
  'time': 1567078061338,
  'updateTime': 1567078061338,
  'isWorking': True}}
现在我想单独打印此响应的一些部分

如果我尝试:

tot = exchange.fetch_open_orders()
    for x in tot:
        print(x['symbol'])
我会得到:
'ETHBTC'
。直到现在,一切都很正常

但如果我尝试:

tot = exchange.fetch_open_orders()
    for x in tot:
        print(x['origQty']) 

我得到了一个
键错误:“origQty”
,这很奇怪,因为当我尝试引用一个不存在但存在的参数时,应该会出现这个错误,因为它在我的响应中。我做错了什么?

我不确定tot的格式是什么。但是你可以试试这个

for x, v in dict(tot).items():
    print(v['symbol'])
    print(v['origQty'])
输出:

ETHBTC
0.01800000

在这里,您将迭代字典中的键,所以每次尝试从键中获取值时,它都会给出
KeyError
。 当一个键在字典中不存在但仍被访问时,就会发生这种情况。 这可以通过以下方式实现

对于总金额中的x:
打印(tot[x].get('symbol'))
打印(tot[x].get('origQty'))
输出

ETHBTC
0.01800000

你能把整个剧本发出去吗?我尝试使用这个json。我能够获得原始数量。您需要显示更多代码。什么是tot?它不可能是您显示的dict,因为迭代dict只会给您提供键。什么是
tot
?如果是响应字典,那么我希望第一个示例失败。对不起,各位。我刚刚回答了我的问题,现在你可以看到托特来自哪里了