我有一个python脚本,它给了我一个错误,我无法解决它。这是我的第一段代码,让您了解我在这里做的事情
orders = cexapi.current_orders('GHS/NMC')
print(orders)
此代码运行正常并打印
[{u'price': u'2.1', u'amount': u'0.00000100', u'time': u'1395628131986', u'type': u'buy', u'id': u'567638429', u'pending': u'0.00000100'}]
我想在订单ID之后提取567638429,但它给我一个错误
ord = json.loads(orders['id'])
TypeError: list indices must be integers, not str
这是我用来尝试过滤结果的代码。
orders = cexapi.current_orders('GHS/NMC')
ord = json.loads(orders['id'])
print(ord)
答案 0 :(得分:1)
我不熟悉您正在使用的库。但是order是一个只包含一个元素的列表,而one元素是一个字典。这就是打印输出或订单包含在[]中的原因。
ord = json.loads(orders[0]['id']
答案 1 :(得分:1)
看起来.current_orders的返回值已经被解码了,你不应该需要json.loads()它,只需索引它就可以获得你想要的值。
orders = cexapi.current_orders('GHS/NMC')
id = orders[0]['id']
答案 2 :(得分:0)
这是一个清单:
[{u'price': u'2.1', u'amount': u'0.00000100', u'time': u'1395628131986', u'type': u'buy', u'id': u'567638429', u'pending': u'0.00000100'}]
通过编写orders[n]
,您可以访问此列表的第n个元素。显然,n必须是一个正整数(并且不应超过列表中元素的数量)。
请尝试orders[0]['id']
。
orders[0]
返回列表的第一个元素,然后像以前一样使用['id']
。