def test_toHDF5ListString(self): """Convert to HDF5, including a list of string in attributes""" a = dm.SpaceData() a.attrs['foo'] = ['hi'] dm.toHDF5(self.testfile, a, mode='a') newobj = dm.fromHDF5(self.testfile) self.assertEqual(a.attrs['foo'], newobj.attrs['foo'])
def test_HDF5Exceptions(self): """HDF5 has warnings and exceptions""" dm.toHDF5(self.testfile, self.SDobj) self.assertRaises(IOError, dm.toHDF5, self.testfile, self.SDobj, overwrite=False) a = dm.SpaceData() a['foo'] = 'bar' # not an allowed type for data self.assertRaises(dm.DMWarning, dm.toHDF5, self.testfile, a)
def test_HDF5roundtrip2GZIP(self): """Data can go to hdf without altering datetimes in the datamodel with compression""" a = dm.SpaceData() a['foo'] = dm.SpaceData() dm.toHDF5(self.testfile, a, compression='gzip') newobj = dm.fromHDF5(self.testfile) self.assertEqual(a['foo'], newobj['foo']) a['bar'] = dm.dmarray([datetime.datetime(2000, 1, 1)]) dm.toHDF5(self.testfile, a, compression='gzip') self.assertEqual(a['bar'], dm.dmarray([datetime.datetime(2000, 1, 1)]))
def test_HDF5roundtripGZIP(self): """Data can go to hdf and back with compression""" dm.toHDF5(self.testfile, self.SDobj, compression='gzip') newobj = dm.fromHDF5(self.testfile) self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global']) np.testing.assert_almost_equal(self.SDobj['var'], newobj['var']) self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a']) dm.toHDF5(self.testfile, self.SDobj, mode='a', compression='gzip') newobj = dm.fromHDF5(self.testfile) self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global']) np.testing.assert_almost_equal(self.SDobj['var'], newobj['var']) self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a'])
def test_HDF5roundtrip_method(self): """Data can go to hdf and back""" self.SDobj.toHDF5(self.testfile) newobj = dm.fromHDF5(self.testfile) self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global']) np.testing.assert_almost_equal(self.SDobj['var'], newobj['var']) self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a']) dm.toHDF5(self.testfile, self.SDobj, mode='a') newobj = dm.fromHDF5(self.testfile) self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global']) np.testing.assert_almost_equal(self.SDobj['var'], newobj['var']) self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a'])
def toHDF5(self, filepath, **kwargs): ''' Save this DataModel to a HDF5 data file. Attributes are not available without SpacePy. ''' if USE_SPACEPY: spdm.toHDF5(filepath, self, **kwargs) else: import h5py path = '/' if 'path' in kwargs: path = kwargs['path'] h5file = h5py.File(filepath, mode='w') for k, v in self.items(): h5file[path][k] = v h5file.close()
def write(self, filename, hdf5=False): if hdf5: dm.toHDF5(filename, self.dat) else: dm.toJSONheadedASCII(filename, self.dat, order=['Epoch'] ) print(' Wrote {0}'.format(os.path.abspath(filename)))
def write(self, filename, hdf5=False): if hdf5: dm.toHDF5(filename, self.data) else: dm.toJSONheadedASCII(filename, self.data)