Pythonでやる奴

Python出来る→機械学習も出来る→価値UPで年収UPでやりがいUP→いつかは田舎暮らししたい男のブログ

jsonファイルをcsv(Excel)データに変換

「仕事ではじめる機械学習」を読んだ。

正直、まだまだ理解できていないところが多いが、 後半の章は、実際に手を動かしながら説明を読み進めていく事で、 機械学習をしていく「流れ」みたいな感覚は掴めた。

(※本に記載のコードは、極一部ミスがあるため、エラーで詰まったらgithubに上がっているコードを確認するべし。)

仕事ではじめる機械学習

仕事ではじめる機械学習

その中で、機械学習ではないが、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")

機械学習については、もっと初歩の用語から手をつけないとついていけないかな、と感じた。 一通りの説明はあるのだが、頭に入ってこないというか・・・。 とりあえず、初学者向けの本をもう少し読み進めつつ、分からないなりにもコードの記述があれば ひたすら手を動かして行ってみよう。