【Python】CSV, Excelなどのデータ読み込み
いろいろなモジュールがあるので一度まとめ。
numpy.genfromtxt
メリット
- numpyのメソッドなので他のモジュールをインポートする必要なし
- 読み込んだデータ(戻り値)がndarrayなので使いやすい
- csvモジュールみたいに一行ずつの読み込みではなく一度に処理可能.。
- 読む込む行、列の指定も可能(読み込む行はnumpy1.16.0以降)
- 書き出しのためのsavetxt()もあり便利。
- savetxtで追記するにはファイルを追記モードで開いてハンドルをsavetxtへ渡すことで可能。
with open("text.txt", 'a') as f: np.savetxt(f, data)
デメリット
- エクセル等のファイルには非対応
使い方
np.genfromtxt(data_path, delimiter="\t", skip_header=5, skip_footer=3, max_rows=5) # delimiter : "," , "\t" など # skip_header : エクセルで6行目から読み込ませたい場合は6 # skip_footer : 下から数えて何行分を読み込まないかを指定 # max_rows : 読む込む行数を指定,skip_footerと同時使用しないこと
xlrd
pandas
メリット
- データの加工や計算はメソッドがいくつか用意されていて便利
デメリット
- インポートするモジュールの容量が大きく、配布には不向き(未検証につき推測)