如何在Python(Binance Futures API)中将列表转换为DataFrame

时间:2020-03-14 19:38:12

标签: list dataframe binance

使用Binance期货API,我正在尝试就我的加密货币头寸采取适当的形式。 使用代码

from binance_f import RequestClient
request_client = RequestClient(api_key= my_key, secret_key=my_secet_key)
result = request_client.get_position()

我得到以下结果

[{"symbol":"BTCUSDT","positionAmt":"0.000","entryPrice":"0.00000","markPrice":"5455.13008723","unRealizedProfit":"0.00000000","liquidationPrice":"0","leverage":"20","maxNotionalValue":"5000000","marginType":"cross","isolatedMargin":"0.00000000","isAutoAddMargin":"false"}]

type命令表明它是一个列表,但是在代码print(result)的末尾添加将产生:

[<binance_f.model.position.Position object at 0x1135cb670>]

这令人困惑,因为它似乎不在列表中(实际上,调试它表明类型为Position的对象)。使用PrintMix.print_data(result)会产生:

data number 0 :
entryPrice:0.0
isAutoAddMargin:True
isolatedMargin:0.0
json_parse:<function Position.json_parse at 0x1165af820>
leverage:20.0
liquidationPrice:0.0
marginType:cross
markPrice:5442.28502271
maxNotionalValue:5000000.0
positionAmt:0.0
symbol:BTCUSDT
unrealizedProfit:0.0

现在,它看起来像是JSON格式...但这是一个列表。我很困惑-关于如何将结果转换为适当的DataFrame的任何想法?这样的列就是Symbol, PositionAmt, entryPrice, etc.

谢谢!

1 个答案:

答案 0 :(得分:3)

您的主要问题仍然存在,就像您在标题上所写的一样,不要混淆。就您而言,您有一个Position对象的列表,可以在GitHub of this library

中看到Position的结构

无论如何回答该问题,请使用以下内容:

df = pd.DataFrame([t.__dict__ for t in result])

有关更多选项和信息,请阅读this question上的完整答案

祝你好运!