たとえば、テキスト ファイルの名前が mydata.txt で、次のように構成されているとします。
time(row1) bVar(row1) dVar(row1) aVar(row1) cVar(row1)
time(row2) bVar(row2) dVar(row2) aVar(row2) cVar(row2) ...
time(rowN) bVar(rowN) dVar(rowN) aVar(rowN) cVar(rowN)
したがって、必要なのは、これらの列で順序付けされたテーブルを作成し、numpy.genfromtxt コマンドを使用してテーブルにデータを入力することです。
# Column and Table definition with desired order
class parmDev(tables.IsDescription):
time = tables.Float64Col()
bVar = tables.Float64Col()
dVar = tables.Float64Col()
aVar = tables.Float64Col()
cVar = tables.Float64Col()
#...
mytab = tables.createTable( group, tabName, paramDev )
data = numpy.genfromtxt(mydata.txt)
mytab.append(data)
これにより、コードが単純になり、非常に高速になります。ただし、テーブルの列は常にアルファベット順に並べられ、追加されたデータは目的の順序に従って並べられます。テーブルの列の順序をアルファベット順ではなく、クラス定義の順序にする方法はありますか?