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