我正在尝试将字典放入格式化的DataFrame中。
我通过以下方式通过API调用获取数据:https://www.cryptonator.com/api
r = requests.get('https://api.cryptonator.com/api/ticker/btc-usd')
x = r.json()
返回的数据格式为:
{"ticker":{"base":"BTC","target":"USD","price":"443.7807865468","volume":"31720.1493969300","change":"0.3766203596"},
"timestamp":1399490941,
"success":true,
"error":""
}
我只对词典“ticker”中的一些数据和键值对“timestamp”感兴趣。
我的问题是,因为“ticker”是字典中的字典,而“timestamp”只是一个键值对,我似乎无法将它们导入到这个特定的Pandas DataFrame中:
base price timestamp volume
0 BTC 443.7807865468 1399490941 31720.1493969300
我尝试了几种方法并不能完全满足我的要求,包括:
pd.DataFrame(x).T
base change price target volume
ticker BTC -8.71469546 1532.83742332 USD 22275.83826859
timestamp 1493925662 1493925662 1493925662 1493925662 1493925662
答案 0 :(得分:2)
你可以拉出你需要的东西
pd.DataFrame({
'ticker': x['ticker'],
'timestamp': x['timestamp']
}).T
base change price target volume
ticker BTC 0.3766203596 443.7807865468 USD 31720.1493969300
timestamp 1399490941 1399490941 1399490941 1399490941 1399490941
旧答案
pd.io.json.json_normalize(x)
error success ticker.base ticker.change ticker.price ticker.target ticker.volume timestamp
0 True BTC 0.3766203596 443.7807865468 USD 31720.1493969300 1399490941