PyTables, Создание таблицы без открытия файла hdf5

Можно ли создать таблицу PyTables, не открывая и не создавая файл hdf5? Что я имею в виду и что мне нужно, так это создать таблицу (ну на самом деле очень много таблиц) в разных процессах, работать с этими таблицами и сохранять таблицы в файл hdf5 только в конце после некоторых вычислений (и обеспечения только одного процесса одновременно выполняет хранение).

В принципе, я мог бы выполнять все расчеты с обычными данными Python (массивы, строки и т. д.) и в конце выполнять их хранение. Тем не менее, почему я был бы признателен за работу с PyTables с самого начала, так это проверки работоспособности. Я хочу всегда гарантировать, что данные, с которыми я работаю, помещаются в предопределенные таблицы и не нарушают ограничения формы и т. д. (а поскольку PyTables проверяет эти проблемы, мне не нужно реализовывать все это самостоятельно).

Большое спасибо и с уважением, Роберт


person SmCaterpillar    schedule 18.05.2013    source источник


Ответы (2)


Вы ищете pandas, у которого есть отличная интеграция с Pytables. Вы будете работать с таблицами на протяжении всего пути и, в конце концов, сможете сохранять в hdf5 самым простым способом.

person elyase    schedule 18.05.2013

Вы можете создать массив numpy с заданной формой и типом данных.

my_array = num.empty(shape=my_shape, dtype=num.float)

Если вам нужна индексация по имени, посмотрите массивы записей numpy (nee пустая перенастройка)

Но если вы работаете напрямую с PyTable-Object, это может быть быстрее (см. тест здесь).

person Hensing    schedule 18.05.2013