如何从Binance API返回数据中筛选包含USDT的对象并打印
筛选Binance API返回数据中包含USDT的交易对
需求:从调用Binance API获取的价格数据JSON中,仅打印包含USDT的交易对对象。
原代码示例
requestT = requests.get('https://api1.binance.com/api/v3/ticker/price') json_data = json.loads(requestT.text) print(json_data)
输入数据示例
data = [{'symbol': 'BNBETH', 'price': '0.16540000'}, {'symbol': 'BTCUSDT', 'price': '64321.11000000'}, {'symbol': 'ETHUSDT', 'price': '3330.76000000'}]
解决方案代码
只需在解析数据后添加列表推导式进行过滤,代码如下:
import requests import json requestT = requests.get('https://api1.binance.com/api/v3/ticker/price') json_data = json.loads(requestT.text) # 过滤出symbol以USDT结尾的交易对 usdt_pairs = [item for item in json_data if item['symbol'].endswith('USDT')] print(usdt_pairs)
预期输出
data1 = [{'symbol': 'BTCUSDT', 'price': '64321.11000000'}, {'symbol': 'ETHUSDT', 'price': '3330.76000000'}]
说明
- 使用
endswith('USDT')可以精准匹配Binance平台上以USDT作为计价货币的交易对(这类交易对的symbol均以USDT后缀形式存在) - 列表推导式是Python中高效筛选列表元素的方式,代码简洁且执行效率高
内容的提问来源于stack exchange,提问作者krneki kr
相关产品推荐
相关产品推荐

