APIを叩いて取得したjson文字列をさくっとDataFrameにする方法です。
pandasにはread_json
というjsonを読み込んで、
データフレームにしてくれるものがあります。
実はこれ、ファイルではないjson文字列も対象にできます。
コード
import pandas as pd # requestsなんかでとってきたjson string json_string = "[{'id':1,'val':'a'},{'id':2'val':'b'}]" #import json とかしなくて良い df = pd.read_json(json_string)
json_stringの形とorient引数
read_json
にはorient引数というものもありまして、
jsonの中身の形に応じてデータフレームへの取り込み方を変えることができます。
- orient = records : 上の例のように行=dictの形がリストに入っている
- orient = index:一つのjsonでできていて、indexのkey:[行方向のデータ]という形のとき
- orient = columns:一つのjsonでできていて、カラム名:[列方向のデータ]という形の時
便利機能
日付っぽいkey名のデータはtimestampでパースしてくれます。 - atかtimeで終わる - timestampで始める - modifiedかdateって名前
そのまま文字列で扱いたい時は
convert_dates = Falseを渡せば良いみたいです。