Хотите получить/создать произвольную группу в файле HDF5 db с использованием pytables. файл имеет следующую структуру:Что такое способ доступа к произвольным группам в файле hdf5 с использованием pytables?
db
|_ user_00 # Group
|_ subjectTable # TableObject
|_ subject_00 # GroupObject
РЕГИСТРАЦИЯ новый предмет означает добавление строки в subjectTable и создать группу с именем субъекта поэтому у меня есть:
def open_db(db_file, mode='r+'):
h5f = tables.openFile(db_file, mode)
return h5f
def register_new_subject(subjectName, user, db_file):
# Open db
h5f = open_db(db_file)
#Create subject
subjectGroup = h5f.createGroup(h5f.root.??????????, subjectName)
# Add subjectName to user/subjectTable
...
Как вы можете видеть по вопросительным знакам я не знаю, как продолжить ... потому что группа специфична для пользователя, которого я застрял, новая группа должна быть h5f.root. [user] .subjectName
есть способ делая это?
лучше все еще есть способ pytables сделать это?
для дополнительных очков есть ли питонический способ сделать это?
EDIT: Таким образом, он работает, однако я ненавижу использование eval().
row_str = 'h5f.root.{}'.format(user)
where = eval(row_str)
subjectGroup = h5f.createGroup(where, subjectName)
Любой другой способ сделать это?
ли люди понимают эту проблему или я объяснил себя плохо, снова ?? – nico