我將市場資訊作為這樣的字串:
{"POLISUSDT": {"name": "POLISUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "POLIS", "trading_decimal": 8}, "XPRBTC": {"name": "XPRBTC", "min_amount": "100", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "BTC", "pricing_decimal": 10, "trading_name": "XPR", "trading_decimal": 8}, "PSPUSDT": {"name": "PSPUSDT", "min_amount": "5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "PSP", "trading_decimal": 8}, "KAVAUSDT": {"name": "KAVAUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "KAVA", "trading_decimal": 8}, "CFXUSDT": {"name": "CFXUSDT", "min_amount": "10", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 6, "trading_name": "CFX", "trading_decimal": 8}}
我想要每個市場的資訊,分別。例如,如果我呼叫“POLISUSDT”,我想得到這個資料框:
| 最小數量 | maker_fee_rate | 接受者費用率 | 定價名稱 | 定價_十進制 | 交易名稱 | Trading_decimal |
|---|---|---|---|---|---|---|
| 0.5 | 0.003 | 0.003 | USDT | 4 | 波利斯 | 8 |
uj5u.com熱心網友回復:
請注意,我在決議您的 json 時發現了一些問題 -}在該message欄位之前有一個額外的問題。
撇開這一點,如果你有str你的 json的表示(讓我們稱之為json_str),你可以使用以下方法將它加載到一個大資料幀中:
import pandas as pd
dt = pd.read_json(json_str).transpose()
在這部分代碼中,您應該洗掉您不感興趣的列。
您可以使用以下方法訪問任何元素:
dt.loc[["POLISUSDT"]]
uj5u.com熱心網友回復:
從樣本中洗掉錯誤資料后,可以使用字典理解json_normalize:
d ={"POLISUSDT": {"name": "POLISUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "POLIS", "trading_decimal": 8}, "XPRBTC": {"name": "XPRBTC", "min_amount": "100", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "BTC", "pricing_decimal": 10, "trading_name": "XPR", "trading_decimal": 8}, "PSPUSDT": {"name": "PSPUSDT", "min_amount": "5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "PSP", "trading_decimal": 8}, "KAVAUSDT": {"name": "KAVAUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "KAVA", "trading_decimal": 8}, "CFXUSDT": {"name": "CFXUSDT", "min_amount": "10", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 6, "trading_name": "CFX", "trading_decimal": 8}}
df = {k: pd.json_normalize(v) for k, v in d.items()}
print (df['POLISUSDT'])
name min_amount maker_fee_rate taker_fee_rate pricing_name \
0 POLISUSDT 0.5 0.003 0.003 USDT
pricing_decimal trading_name trading_decimal
0 4 POLIS 8
uj5u.com熱心網友回復:
你可以做:
df = pd.DataFrame(data)
df_dict = {col: df[col].drop('name', axis=0).rename(None).to_frame().T for col in df.columns}
print(df_dict['POLISUSDT'])
輸出:
min_amount maker_fee_rate taker_fee_rate pricing_name pricing_decimal trading_name trading_decimal
0 0.5 0.003 0.003 USDT 4 POLIS 8
trading_decimal
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/381266.html
