今、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ファイルが格納されます。