今、testディレクトリに、「sam123.csv」、「sam342.csv」、「sam129.csv」、「samaaaaa.csv」のように、「sam」と「.csv」に何か異なる文字が挟まれたファイルが、たくさんあるとします。これを一つずつ書いていくとキリがないので、一括でロードする方法を以下に示します。
import glob as gl import numpy as np # テストディレクトリにある「sam XXXX .csv」を取得する場合 name1 = gl.glob("test/sam*.csv") # テストディレクトリにある全ファイル名を取得する場合 # name2 = gl.glob("test/*") Dat = [] for i in range(0, len(name1)): filename = name1[i] temp = np.loadtxt(filename, delimiter=",") Dat.append(temp)
ポイントは、glob関数の中にある「*」です。これは、ワイルドカードといい、ここを自由にさせた文字列を取得することができます。testディレクトリにある全ファイル名を取得したい場合は、name2のようにかけばokです。
このコードで、Dat[n]にn番目のcsvファイルが格納されます。