用python排除dict[jsonArray]对象的positionAmt值

2024-09-27 21:25:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python获得以下json对象。我想排除positionAmt值大于0的以下对象。我该怎么做

如果positionAmt的值为零或更大,则删除其所在的行

def webhook(request):
    webhook_received_json = json.loads(request.body)

    while True:
        get_active_position()


def get_active_position():
    print("get_active position")
    sleep(3)

    futures_api_key = "asd"
    futures_secret_key = "fdg"
    client = Client(futures_api_key, futures_secret_key)

    data = client.futures_position_information()
    # data = list
    for key, value in data.items():
        if "positionAmt" >= "0.0000":
            del data[key]
            break
    
    return get_active_position
[
{'symbol': 'BCHUSDT', 'positionAmt': '0.00000', 'entryPrice': '262.39000'},
,{'symbol': 'BCHUSDT', 'positionAmt': '-0.001', 'entryPrice': '262.39000'},
{'symbol': 'ETHUSDT', 'positionAmt': '-0.001', 'entryPrice': '386.60000'}]

Tags: 对象keyapijsondatagetrequestdef
1条回答
网友
1楼 · 发布于 2024-09-27 21:25:45

该值是一个字符串。您需要将其转换为floatdecimal.Decimal以便正确比较。您还可以迭代列表

def get_active_position():
    print("get_active position")
    sleep(3)

    futures_api_key = "asd"
    futures_secret_key = "fdg"
    client = Client(futures_api_key, futures_secret_key)

    data = client.futures_position_information()
    return [item for item in data if float(item.get('positionAmt', '0')) < 0]

注意,代码没有经过测试

编辑:我编辑代码,使其排除0

相关问题 更多 >

    热门问题