想要使用pytables在HDF5數據庫文件中訪問/創建任意組。 該文件具有以下結構:什麼是使用pytables訪問hdf5文件中的任意組的方法?
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。[用戶] .subjectName
有沒有辦法這樣做?
更好的是有沒有pytables的方式做到這一點?
加分是否有pythonic方式做到這一點?
編輯: 這種方式,但我討厭使用eval()。
row_str = 'h5f.root.{}'.format(user)
where = eval(row_str)
subjectGroup = h5f.createGroup(where, subjectName)
還有其他的方法嗎?
人們是否理解問題或有我解釋我自己不好,再?? – nico