2017/10/19
_ [Python]nested dictionary を展開するのは json_normalize で
色々とググってみたら、nested dictionary を展開するのは json_normalize を使うみたいだ。
もともと入手していたデータは、こんな形式
AAA BBB CCC {key1:{key2:VVV,key3:[1,2,3,4]}} ※スペースのあるところには、実際には Tab になっている。
普通に pandas に取り込んでも 4つのカラムに取り込まれるので、 4番目のカラムに対して json_normalize してみた。
from pandas.io.json import json_normalize dict = '{key1:{key2:VVV,key3:[1,2,3,4]}}' json_normalize(dict)
出力結果
key1.key2 key1.key3 VVV [1,2,3,4]
key を連結していけば対象カラムにアクセスできるので、階層構造を理解した後だとすんなり指定できる(^o^)/
もともと期待していた結果は、"key1.key3" もカラムに展開してもらいたかったけど、 よくよく考えてみると この数値列は後で比較したり演算したりする可能性があるので、 一塊になっていたほうが便利なんじゃないのか、と思い直した。\(^o^)/
後は pandas の連結方法だな
参考にさせていただいたサイト: