Python访问Kraken交易历史索引问题:如何遍历单条交易?
Kraken TradesHistory 无法通过索引访问交易的问题解决
你犯的核心错误是把返回结果里的trades当成了列表(数组),但从你提供的JSON结构能看到,它其实是一个字典(键值对对象)——键是交易ID,值是对应交易的详情数据,所以不能用[0]这种索引方式访问,必须通过交易ID这个键来取值。
解决方法
如果不需要交易ID,只想直接按顺序访问交易数据,把字典的值转成列表即可:
# 将trades字典转换为列表格式 trades_list = list(resp.json()['result']['trades'].values()) # 现在可以用索引访问第一条交易的ordertxid print(trades_list[0]['ordertxid'])
如果需要同时获取交易ID和对应的详情信息,用字典的items()方法遍历:
trades_dict = resp.json()['result']['trades'] for trade_id, trade_info in trades_dict.items(): # 打印交易ID及对应的订单TXID,无数据时显示默认值 print(f"交易ID:{trade_id},订单TXID:{trade_info.get('ordertxid', '未提供')}")
补充说明
Python 3.7及以上版本的字典会保留插入顺序,Kraken返回的trades字典顺序一般与交易发生时间一致,因此转成列表后无需额外排序即可按时间顺序访问交易。
内容的提问来源于stack exchange,提问作者Crusha
相关产品推荐
相关产品推荐

