вложенные pytables

Предположим, вы передаете словарь конструктору pytable:

h5f.createTable('/','table',{'col1':Float64Col(pos=0),'col2':StringCol(16,pos=1)})

У меня есть следующие три вопроса новичка, связанные с вложенными таблицами pytables:

1) Как вы используете дескриптор словаря для создания вложенной таблицы pytable? 2) Как вы назначаете позиции для вложенных столбцов? Если столбец верхнего уровня имеет позицию pos=1, вы начинаете нумеровать его подстолбцы с 0? 3) Как вы назначаете строки вложенному столбцу?

Спасибо за помощь!


person Eugene Redekop    schedule 24.10.2012    source источник


Ответы (1)


Я динамически создавал описание pytables, используя python type(). По крайней мере, это должно заставить вас двигаться...

from tables import *

h5_file = openFile('test_nested_table.h5', 'w')

nested_table_fields = {}
nested_table_fields['x'] = Float64Col(dflt=1, pos=0)
nested_table = type('nested_table', (IsDescription,), nested_table_fields)

main_table_fields = {}
main_table_fields['y'] = Float64Col(dflt=1, pos=0)
main_table_fields['nested_table'] = nested_table
main_table = type('main_table', (IsDescription,), main_table_fields)

h5_table = h5_file.createTable('/', 'nested_table_example', main_table)
print repr(h5_table)
person bcollins    schedule 27.02.2013