jsonファイルをcsv(Excel)データに変換
「仕事ではじめる機械学習」を読んだ。
正直、まだまだ理解できていないところが多いが、 後半の章は、実際に手を動かしながら説明を読み進めていく事で、 機械学習をしていく「流れ」みたいな感覚は掴めた。
(※本に記載のコードは、極一部ミスがあるため、エラーで詰まったらgithubに上がっているコードを確認するべし。)
- 作者: 有賀康顕,中山心太,西林孝
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/01/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
その中で、機械学習ではないが、jsonファイルをcsvで読めるようにするコードが、 いつか自分で使いそうだと思ったので、メモとして残しておく。(一部アレンジ)
import glob import json import pandas import pandas.io.json json_list = [] # globでjsonを読み込み(以下ではresultフォルダ内のjsonファイルを全て読み込み) for filename in glob.glob("result/*.json"): json_data = json.loads(open(filename).read()) json_list.append(json_data) # 変換対象が少数なら以下の方がシンプルか # df = pandas.read_json("hoge.json") # json_normalizeでDataFrameに変換する df = pandas.io.json.json_normalize(json_list) # csv形式に変換する csv_data = df.to_csv() # (Windows対策)Excelに読みこませる場合、CP932でエンコードする csv_data = csv_data.encode("cp932", "ignore") # 書き込み fp = open("hoge.csv", "wb") fp.write(csv_data) fp.close()
最小構成だと以下の記述で済む
import pandas df = pd.read_json("hoge.json") csv_data = df.to_csv("hoge.csv")
機械学習については、もっと初歩の用語から手をつけないとついていけないかな、と感じた。 一通りの説明はあるのだが、頭に入ってこないというか・・・。 とりあえず、初学者向けの本をもう少し読み進めつつ、分からないなりにもコードの記述があれば ひたすら手を動かして行ってみよう。