當爲createTable()的調用使用模式定義的字典或類時,似乎PyTable列按字母順序排列。我的需要是建立一個特定的順序,然後使用numpy.genfromtxt()從文本中讀取和存儲我的數據。我的文本文件沒有像PyTable那樣按字母順序包含變量名稱。有沒有辦法按特定順序存儲PyTable列?
例如,假設文本文件被命名爲mydata.txt和組織如下:
時間(ROW1)BVAR(ROW1)DVAR(ROW1)AVAR(ROW1)CVAR(ROW1)
時間(2行)BVAR(2行)DVAR(2行)AVAR(2行)CVAR(2行) ...
時間(rowN)BVAR(rowN)DVAR(rowN)AVAR(rowN)CVAR(rowN)
所以,需要創建一個表,這些表與這些列 和t如果使用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)
這是所希望的,因爲它代碼簡單,速度非常快。但是,PyTable列總是按字母順序排列,附加數據按照所需順序排序。我在這裏錯過了什麼基礎?有沒有辦法讓表列的順序遵循類定義順序而不是按字母順序排列?
鏈接被打破 - 現在的http:// pytables.github.io/usersguide/libref/declarative_classes.html#the-col-class-and-its-descendants – seeker 2013-04-18 22:55:45