我创建了一个Python脚本来从加密货币交易所获取未结订单。
当我使用以下方法连接到api时:
let inline tryParse text =
let mutable r = Unchecked.defaultof<_>
(^a : (static member TryParse: string * ^a byref -> bool) (text, &r)), r
let inline tryParseWithDefault (defaultVal:'a) text =
match tryParse text with
| true, v -> v
| _ -> defaultVal
我收到此回复:
order = exchange.fetch_open_orders(symbol)
这是一个很长的响应,我不希望这里有任何内容,仅打印一些值,我尝试过这样:
[{'info': {'symbol': 'ETHBTC',
'orderId': 507325551, 'orderListId': -1, 'clientOrderId':
'web_b75c7f9be90849beac14cd86f575ac01', 'price': '0.02504200',
'origQty': '0.02100000', 'executedQty': '0.00000000',
'cummulativeQuoteQty': '0.00000000', 'status': 'NEW',
'timeInForce': 'GTC', 'type': 'LIMIT', 'side': 'SELL',
'stopPrice': '0.00000000', 'icebergQty': '0.00000000',
'time': 1571163346981, 'updateTime': 1571163346981, 'isWorking': True},
'id': '507325551', 'timestamp': 1571163346981, 'datetime': '2019-10-15T18:15:46.981Z',
'lastTradeTimestamp': None,
'symbol': 'ETH/BTC', 'type': 'limit',
'side': 'sell', 'price': 0.025042,
'amount': 0.021, 'cost': 0.0, 'average': None, 'filled': 0.0,
'remaining': 0.021, 'status': 'open', 'fee': None, 'trades': None}]
此代码一直有效,直到我得到for x in order:
sym = x['symbol']
price = x['price']
status = x['status']
amount = x['amount']
side = x['side']
orig = x['origQty']
print(sym, price, status, amount, side, orig)
的第orig = x['origQty']
行为止。
我不知道这是哪里来的,因为所有其他变量都没有错误地打印,并且因为响应中KeyError: 'origQty'
是,而当我尝试时通常会出现此错误寻找不存在的东西。
有人可以帮我找出我在做错什么吗?
答案 0 :(得分:1)
'origQty'
嵌套在'info'
键下,请尝试使用x['info']['origQty']
。
答案 1 :(得分:1)