[英]Keyerror when using Json in python
我正在使用基本腳本從交易所檢索一些交易數據,這是響應:
{'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'])
我收到一個KeyError: 'origQty'
,這很奇怪,因為當我嘗試引用一個不存在但存在的參數時,應該出現此錯誤,因為它在我的響應中。 我究竟做錯了什么?
在這里,您需要在鍵上迭代字典,因此每次嘗試從鍵中獲取值時,這就是為什么它提供KeyError
的原因。 當字典中不存在的鍵仍被訪問時,會發生這種情況。 這可以通過以下方式實現。
for x in tot:
print(tot[x].get('symbol'))
print(tot[x].get('origQty'))
給輸出
ETHBTC
0.01800000
我不確定tot
的格式是什么。 但是您可以嘗試一下。
for x, v in dict(tot).items():
print(v['symbol'])
print(v['origQty'])
輸出:
ETHBTC
0.01800000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.