[SciPy-user] Save a list of arrays
Wed Apr 22 08:43:28 CDT 2009
Received from Mathieu Dubois on Wed, Apr 22, 2009 at 09:09:20AM EDT:
> [I have posted this message this morning but apparently it is stuck
> somewhere - sorry for multi-posting]
> I would like to save a list of arrays (each one has a different shape)
> to a file.
> For instance:
> >>> array1 = numpy.ones(2);
> >>> array2 = numpy.ones(5);
> >>> array3 = numpy.ones(1000);
> >>> list = [array1, array2, array3]
> As my arrays are huge (each one contains several thousands values) I
> would like a compressed file.
> numpy.savez would be perfect (because it produces an archive of binary
> files) but unfortunately numpy.savez(list) doesn't work because savez
> needs each array individually.
> So what's the best way to do that?
> Maybe I could create an archive file in Python (using ZipFile) save each
> array in a npy file and then write each file in the archive. But then,
> will numpy.load be able to open the file?
> Any help appreciated.
> Kind regards,
You might find hdf5pickle useful:
(If you would like a compressed file, you can specify a compression
filter when creating the HDF5 file in which to store your data.)
More information about the SciPy-user