Кажется, что столбцы PyTable упорядочены в алфавитном порядке при использовании словаря или класса для определения схемы для вызова createTable (). Мне нужно установить определенный порядок, а затем использовать numpy.genfromtxt () для чтения и сохранения моих данных из текста. В моем текстовом файле имена переменных не включены в алфавитном порядке, как в PyTable.
Например, ...
время (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)
Это желательно, потому что это простой код и очень быстро. Но столбцы PyTable всегда упорядочены в алфавитном порядке, а добавленные данные упорядочены в соответствии с желаемым порядком. Мне здесь не хватает чего-то базового? Есть ли способ сделать так, чтобы порядок столбцов таблицы соответствовал порядку определения классов, а не был в алфавитном порядке?