俺言語。

自分にしか理解できない言語で書かれた備忘録

【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と同時使用しないこと

csv

xlrd

pandas

メリット
  • データの加工や計算はメソッドがいくつか用意されていて便利
デメリット
  • インポートするモジュールの容量が大きく、配布には不向き(未検証につき推測)