有人问过类似我的问题的地方:
How to read a portion from a large HDF5 dataset into a 1-D array
但截至今天为止,还没有回复。也许那篇文章太具体了。
我在外部驱动器上有一个很大的hdf5文件。我可以访问该组并打开各种数据集。对于(相对)小的数据集,我可以使用H5Dread将数据集成功读取到缓冲区中,然后将缓冲区写入单独的文件中。我的问题是我无法对较大的数据集使用此过程,因为我无法分配足够大的内存缓冲区来存储它们。
大概,可以分段读取数据集,并将它们依次追加到磁盘上的我的文件中。
HD5read的在线文档:
https://support.hdfgroup.org/HDF5/doc/RM/RM_H5D.html#Dataset-Read
说了有关mem_space_id和file_space_id的一些信息,但我不知道它们是什么,或者它们甚至与我的问题有关。
dan