python - python - 解析 json 数据并仅列出大数据
问题描述
您好,我正在获取如下所示的 json 数据。我希望它在我收到的数据中仅列出大于 0.01 的“positionAmt”。另外,我无法到达循环中的元素,如下所示。你能帮助我吗 ?
def open_positions():
positions = json.loads(client.futures_position_information())
for x in positions:
print(x['symbol'])
return positions
json数据
[
{
"symbol": "BNBUSDT",
"positionAmt": "0.02",
"entryPrice": "186.46100",
"markPrice": "185.28100000",
"unRealizedProfit": "-0.02360000",
"liquidationPrice": "0",
"leverage": "20",
"maxNotionalValue": "250000",
"marginType": "cross",
"isolatedMargin": "0.00000000",
"isAutoAddMargin": "false",
"positionSide": "LONG",
"notional": "3.70562000",
"isolatedWallet": "0"
},
{
"symbol": "BNBUSDT",
"positionAmt": "0.00",
"entryPrice": "0.00000",
"markPrice": "185.28100000",
"unRealizedProfit": "0.00000000",
"liquidationPrice": "0",
"leverage": "20",
"maxNotionalValue": "250000",
"marginType": "cross",
"isolatedMargin": "0.00000000",
"isAutoAddMargin": "false",
"positionSide": "SHORT",
"notional": "0",
"isolatedWallet": "0"
},
{
"symbol": "AKROUSDT",
"positionAmt": "0",
"entryPrice": "0.00000",
"markPrice": "0.04434779",
"unRealizedProfit": "0.00000000",
"liquidationPrice": "0",
"leverage": "20",
"maxNotionalValue": "25000",
"marginType": "isolated",
"isolatedMargin": "0.00000000",
"isAutoAddMargin": "false",
"positionSide": "BOTH",
"notional": "0",
"isolatedWallet": "0"
}
]
解决方案
您可以使用列表推导过滤输出:
filtered = [x for x in positions if float(x['positionAmt']) > 0.01]
这应该返回一个列表,其中的值positionAmt
大于 0.01。您可以调整它以返回特定值,例如symbol
:
filtered_symbols = [x['symbol'] for x in positions if float(x['positionAmt']) > 0.01]
推荐阅读
- ios - 在按钮外开始触摸并在拖入按钮边界时触发事件
- javascript - 将变量传递给ajax时django中的TemplateSyntaxError
- android - phonegap ajax 请求在 http 中不起作用
- python-3.x - 有没有办法反向查看我的 md5 哈希码?
- html - 尽管同时使用了边距和填充功能,但 CSS 背景边距不起作用
- node.js - 将对象数组放入 dynamoDB
- python - 如果有多个条件无法弄清楚
- c# - 不注册已移除的子对象
- java - 选项卡中的 TestNG 并行 DataProvider
- vb.net - 无法在 VB.NET 中加载 Crystal 报表