我有一个包含三个数组的现有hdf5文件,我想使用h5py提取其中一个数组。
h5py
已经将文件读入为numpy数组,因此只需:
with h5py.File('the_filename', 'r') as f:
my_array = f['array_name'][()]
[()]
的意思是读取整个数组;如果不这样做,它就不会读取整个数据,而是为您提供对子部分的延迟访问(当数组非常大但您只需要其中一小部分时非常有用)。
对于这个问题来说,使用SpacePy包可能有些过头了,但如果你有很多类似的事情要做,它可以让一些操作变得更加容易。
datamodel.fromHDF5()文档。它返回一个类似于h5py处理数据的数组字典。
my_array
是什么意思?除非你自己保存(使用h5py.File
或类似numpy.save
的方法),否则对其进行的任何更改都只会存储在内存中。 - Danica.value
方法已经不再可用。请使用f['array_name'][()]
代替。 - Danica