add data manipulator

This commit is contained in:
chen 2016-10-07 16:41:17 -04:00
parent 491b4e31ec
commit 83dae7f9a8
1 changed files with 13 additions and 16 deletions

View File

@ -50,11 +50,9 @@ class H5Table(object):
------
get_attr()
add_attr()
del_attr()
get_data()
add_data()
del_data()
NOTE
----
1. As an interface class, it uses the lazy evaluation design
@ -66,6 +64,11 @@ class H5Table(object):
"""
self.h5f_path = h5f_path
def __del__(self, feature_name=None):
dataType, h5f_path = lables_to_path(feature_name)
h5f = h5py.File(self.h5f_path, 'a')
del h5f[h5f_path]
def get_attr(self, attr_name=None):
"""
"""
@ -76,11 +79,6 @@ class H5Table(object):
"""
pass
def del_attr(self, ):
"""
"""
pass
def get_data(self, feature_name=None):
""" extract dataset from HDF5 table and return it in a numpy array """
dataType, h5f_path = lables_to_path(feature_name)
@ -88,12 +86,11 @@ class H5Table(object):
h5f_dst = h5f[h5f_path] # get the handle for target dataset(table)
return h5f_dst.read_direct(np.zeros(h5f_dst.shape))
def add_data(self, ):
"""
"""
pass
def del_data(self, ):
"""
"""
pass
def add_data(self, feature_name, dataset=None):
""" adding new feature into existing HDF5 file """
dataType, h5f_path = lables_to_path(feature_name)
if dataType is not "attr":
h5f = h5py.File(self.h5f_path, 'a')
h5f.create_dataset(h5f_path, data=dataset)
else:
raise ValueError("feature {} isn't valid".format(feature_name))