You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从Binance API返回的隔离保证金账户对象提取信息

提取Binance隔离保证金账户的netAsset字段

首先明确client.get_isolated_margin_account()的返回结构:它是一个嵌套字典,顶层包含assets字段,这个字段的值是列表,列表里的每个元素是单个资产的字典,其中就有你要的netAsset字段。

方法1:直接从字典提取(无需DataFrame)

不需要先转成DataFrame,直接遍历assets列表提取即可:

# 获取原始账户数据
isolated_account = client.get_isolated_margin_account()

# 提取所有资产的netAsset到列表
all_net_assets = [asset['netAsset'] for asset in isolated_account['assets']]

# 如果只需要某一个资产的netAsset(比如第一个)
target_net_asset = isolated_account['assets'][0]['netAsset']

方法2:用DataFrame提取(正确姿势)

你之前的错误是把整个返回的字典直接转成DataFrame,导致assets列存的是列表,无法直接提取。正确做法是把assets列表单独转成DataFrame:

import pandas as pd

# 获取原始数据
isolated_account = client.get_isolated_margin_account()

# 将assets列表转为DataFrame,此时每个资产的字段都是列
account_df = pd.DataFrame(isolated_account['assets'])

# 提取netAsset列,可转成Series或列表
net_assets_series = account_df['netAsset']
net_assets_list = account_df['netAsset'].tolist()

为什么你之前的方法失败?

你执行pd.DataFrame(client.get_isolated_margin_account())时,是把顶层字典的每个键(比如assets、totalAssetOfBtc等)作为DataFrame的列,其中assets列的每个单元格是一个资产字典的列表。这时候account.assets['assets']的写法完全不符合DataFrame的访问逻辑,自然无法拿到netAsset。

内容的提问来源于stack exchange,提问作者Andrei Filip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:55:26