Search code examples
pythoncompressionhdf5lzolzf

How to use LZF or LZO filters to compress HDF5 file in Python?


My hdf5 file contains three arrays: ArrayA(30,100,100),ArrayB(100,100),ArrayC(100,100),how can I use LZF or LZO filters to compress them?


Solution

  • I would recommend to use the blosc filter. It usually performs better than LZF or LZO.
    This should work:

    filters = tables.Filters(complevel=4, complib='blosc')
    atom = tables.Float32Atom()
    array = h5_f.createCArray(group, 'ArrayA', atom, shape, filters=filters)
    array[:] = data