PyTables具有create_group
方法来创建组,但是仅在该组不存在时才有效。
我没有看到open_group
方法(除了h5file.root.g1.g2
中的按属性访问方法可以访问组/g1/g2
之外);如果组不存在,有没有一种干净的方法创建组,但是如果存在,则返回现有组?
答案 0 :(得分:1)
Jason,这是一个小代码段,演示了使用function displayTableData() {
// when cell onclick - show cell index and contents
var myTable = document.getElementById('t02');
var totalRows = document.getElementById('t02').rows.length;
var totalCol = myTable.rows[0].cells.length;
document.getElementById(‘td01’).onclick=myFunction5(y);
var newCellid = y.CellIndex // return cell id
}
方法的createparents
参数和create_table()
来检查3个不同的组名和打印结果。
File.__contains__(path)
输出看起来像这样:
import tables as tb
import numpy as np
h5f = tb.open_file('SO_54080906.h5','w')
ds_dtype = np.dtype([('a',float),('b',float),('c',float)])
arr = np.array(np.arange(30.0).reshape(10,3))
recarr = np.core.records.array(arr,dtype=ds_dtype)
#create agroup at root level
h5f.create_group(h5f.root, 'agroup')
#create dataset 1 at root.bgroup level
dataset1 = h5f.create_table('/bgroup', 'dataset1',
createparents=True, obj=recarr )
for grpname in ['/agroup', '/bgroup' , '/cgroup']:
if h5f.__contains__(grpname) :
print ('found path for:', grpname)
else:
print ('path doesnt exist for:', grpname)
h5f.close()
答案 1 :(得分:0)
我最终使用了createparents
并做了这样的事情:
def createGroup(self, path):
try:
return self.hfile.get_node(path)
except pt.NoSuchNodeError:
parent, nodename = path.rsplit('/',1)
if parent == '':
parent = '/'
return self.hfile.create_group(parent, nodename, createparents=True)