[英]How to extract data from a dictionary?
我正在嘗試獲取資產/空閑/鎖定字段以及相應的數據以填充到列中。 目前,我只能獲取這些字段所在的余額列。
這是數據格式。 在“平衡”之前我不需要任何東西。 想如果我可以刪除這部分字符串,那么列會被創建嗎? 或者如果有另一種方法可以做到這一點?
'{'makerCommission': 10, 'takerCommission': 10, 'buyerCommission': 0, 'sellerCommission': 0, 'canTrade': True, 'canWithdraw': True, 'canDeposit': True, 'updateTime': 1595872633345, 'accountType': 'MARGIN', 'balances': [{'asset': 'BTC', 'free': '0.00000000', 'locked': '0.00000000'}, {'asset': 'LTC', 'free': '0.00000000', 'locked': '0.00000000'}, {'asset': 'ETH', 'free': '0.00000000', 'locked': '0.00000000'}...'
到目前為止,獲取余額的代碼是:
account = client.get_account()
assets = pd.DataFrame(account, columns = ['balances'])
任何幫助表示贊賞。 把我難住了。
account
是string
,則必須使用ast.literal_eval
將其轉換為dict
。account
作為dict
,使用pandas.json_normalize
提取嵌套的keys
和values
from ast import literal_eval
import pandas as pd
# if account is a string
assets = pd.json_normalize(literal_eval(account), 'balances')
# if account is a dict
assets = pd.json_normalize(account, 'balances')
# display(assets)
asset free locked
0 BTC 0.00000000 0.00000000
1 LTC 0.00000000 0.00000000
2 ETH 0.00000000 0.00000000
str
data = "{'makerCommission': 10, 'takerCommission': 10, 'buyerCommission': 0, 'sellerCommission': 0, 'canTrade': True, 'canWithdraw': True, 'canDeposit': True, 'updateTime': 1595872633345, 'accountType': 'MARGIN', 'balances': [{'asset': 'BTC', 'free': '0.00000000', 'locked': '0.00000000'}, {'asset': 'LTC', 'free': '0.00000000', 'locked': '0.00000000'}, {'asset': 'ETH', 'free': '0.00000000', 'locked': '0.00000000'}]}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.