Creating an HDF5 file
----------------------"
+---------------------
>>> import h5py
>>> f = h5py.File('file.h5', 'w')
>>> f = h5py.File('groups.h5', 'w')
>>> g1 = f.create_group('/MyGroup')
>>> g2 = f.create_group('/MyGroup/Group_A')
- >>> g3 = g1.create_group('Group_B')
+ >>> g3 = g1.create_group('Group_B')
>>> f.keys()
['MyGroup']
>>> f['MyGroup'].keys()
>>> import numpy
>>> f = h5py.File('hype.h5', 'w')
>>> f['IntArray'] = numpy.ones((8, 10))
- >>> dset = f['IntArray']
- >>> dset.value
+ >>> dset = f['IntArray']
+ >>> dset.value
array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
- >>> f['IntArray'][:,5:] = 2
+ >>> f['IntArray'][:,5:] = 2
>>> dset.value
array([[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.]])
>>> dset[1:4,2:6] = 5
- >>> f['IntArray'].value
- array([[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
+ >>> f['IntArray'].value
+ array([[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 5., 5., 5., 5., 2., 2., 2., 2.],
[ 1., 1., 5., 5., 5., 5., 2., 2., 2., 2.],
[ 1., 1., 5., 5., 5., 5., 2., 2., 2., 2.],
>>> import h5py
>>> f = h5py.File('dtype.h5', 'w')
>>> f['complex'] = 2 + 3j
- >>> f['complex'].dtype
+ >>> f['complex'].dtype
dtype('complex128')
- >>> type(f['complex'].value)
+ >>> type(f['complex'].value)
<type 'complex'>
- >>> f['complex array'] = [1 + 2j, 3 + 4j]
- >>> f['complex array'].dtype
+ >>> f['complex array'] = [1 + 2j, 3 + 4j]
+ >>> f['complex array'].dtype
dtype('complex128')
- >>> type(f['complex array'].value)
+ >>> type(f['complex array'].value)
<type 'numpy.ndarray'>
- >>> f.close()
+ >>> f.close()
Which creates
Extendible datasets must be chunked.
>>> import h5py
- >>> import numpy
+ >>> import numpy
>>> f = h5py.File('ext.h5', 'w')
>>> f['simple'] = [1, 2, 3] # not chunked
- >>> s = f['simple']
- >>> s.chunks == None
- True
- >>> s.resize((6,))
+ >>> s = f['simple']
+ >>> s.chunks == None
+ True
+ >>> s.resize((6,))
Traceback (most recent call last):
...
TypeError: Only chunked datasets can be resized
- >>> c = f.create_dataset('chunked', (3,), numpy.int32, chunks=(2,))
- >>> c.chunks
+ >>> c = f.create_dataset('chunked', (3,), numpy.int32, chunks=(2,))
+ >>> c.chunks
(2,)
- >>> c[:] = [9, 8, 7]
+ >>> c[:] = [9, 8, 7]
>>> c.resize((6,))
>>> c.value
array([1, 2, 3, 0, 0, 0])
Traceback (most recent call last):
...
TypeError: New shape length (2) must match dataset rank (1)
- >>> f.close()
+ >>> f.close()
The "chunkiness" of data is not listed by `h5dump`,