PyTable Column Order - PullRequest
       4

PyTable Column Order

1 голос
/ 15 октября 2010

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

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

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

Спасибо

Ответы [ 2 ]

4 голосов
/ 08 декабря 2010
0 голосов
/ 05 ноября 2010

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

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

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

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

Итак, желание состоит в том, чтобы создать таблицу, упорядоченную по этим столбцам а затем используйте команду 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)

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

...