【发布时间】:2020-06-26 10:09:09
【问题描述】:
使用币安期货 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.
谢谢!
【问题讨论】:
-
嗨,“
type命令”是什么意思?无论您以何种方式获得一个包含一个对象的列表,PrintMix.print_data正在向您展示的那个... -
打印(类型(结果))
-
好的,请看我上面的评论...
-
问题是如何将其转换为DataFrame,列是symbol、positionAmt等(由PrintMix显示)
-
内部对象是
dict,所以你可以使用pandas.DateFrame.from_dict()。请阅读pandasdecommentation here 或this article