在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
?如果是响应字典,那么我希望第一个示例失败。对不起,各位。我刚刚回答了我的问题,现在你可以看到托特来自哪里了