26

我有一个包含三个数组的现有 hdf5 文件,我想使用 h5py 提取其中一个数组。

4

2 回答 2

56

h5py已经将文件作为 numpy 数组读取,所以只需:

with h5py.File('the_filename', 'r') as f:
    my_array = f['array_name'][()]

[()]读取整个数组的方法;如果你不这样做,它不会读取整个数据,而是让你懒惰地访问子部分(当数组很大但你只需要它的一小部分时非常有用)。

于 2012-04-23T03:36:10.413 回答
0

对于这个问题,这太过分了,但如果你有很多这样的事情要做,我会使用一个包SpacePy,它可以让其中的一些变得更容易。

datamodel.fromHDF5()文档 这将返回一个数组字典,其存储方式与 h5py 处理数据的方式类似。

于 2012-04-24T20:55:09.943 回答