🚀

numpyでdelimiterを気にしないでcsvを読み込む方法

2021/05/19に公開

tryとexceptを使った "," "\t" "" のcsv読み込み

当方、データ解析を行うことが多く、その場合csvファイルを読むことが多いのですが、受け取るデータフォーマットによっては、

1.カンマ区切り","なのか
2.タブ区切り"\t"なのか
3.スペース区切り" "なのか

まちまちです。

スクリプトを実行するたびにdelimiterを変更する必要があるのがうっとうしかったので、どんなバージョンでも読み込めるようにしました。

import numpy as np

filename = "file.csv"
try:
    raw_data = np.loadtxt(filename, delimiter=",")
except ValueError:
    try:
        raw_data = np.loadtxt(filename, delimiter="\t")
    except ValueError:
        raw_data = np.loadtxt(filename)

try,exceptでエラーの例外処理を書いているだけですが。
考え方はpandasとかでも応用できるかな。

Discussion