Порядок столбцов PyTable

Есть ли способ создать PyTable с определенным порядком столбцов?

По умолчанию столбцы упорядочены в алфавитном порядке при использовании как словаря, так и класса для определения схемы для вызова createTable(). Мне нужно установить определенный порядок, а затем использовать numpy.genfromtxt() для чтения и сохранения моих данных из текста. К сожалению, в моем текстовом файле имена переменных не включены так же, как в данные файла.

В настоящее время мои столбцы упорядочены в алфавитном порядке, а данные смещены в том смысле, что они упорядочены в соответствии с макетом файла. И желательно поддерживать тот же порядок в pyTable (но не обязательно).

Спасибо


person tnt    schedule 15.10.2010    source источник
comment
Предоставление некоторого примера кода, скорее всего, поможет вам получить больше ответов (например, как воспроизвести ситуацию, с которой вы столкнулись)!   -  person jsalonen    schedule 15.10.2010
comment
Возможный дубликат Есть ли способ хранить столбцы PyTable в определенном порядке?   -  person Fabian Rost    schedule 16.06.2016


Ответы (2)



Например, предположим, что текстовый файл называется mydata.txt и организован следующим образом:

время(строка1) bVar(строка1) dVar(строка1) aVar(строка1) cVar(строка1)

время(строка2) bVar(строка2) dVar(строка2) aVar(строка2) cVar(строка2) ...

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)

Это делает код простым и очень быстрым. Но столбцы таблицы всегда упорядочены в алфавитном порядке, а добавляемые данные упорядочены в соответствии с желаемым порядком. Есть ли способ, чтобы порядок столбцов таблицы соответствовал порядку определения класса, а не алфавитному.

person tnt    schedule 05.11.2010