我有一个小的 python 程序,它使用 h5py 模块创建一个 hdf5 文件。我想编写一个 python 模块来处理 hdf5 文件中的数据。我怎样才能做到这一点?
更具体地说,我可以将 numpy 数组设置为 PyArrayObject 并使用 PyArg_ParseTuple 读取它们。这样,当我编写 python 模块时,我可以从 numpy 数组中读取元素。如何读取 hdf5 文件以便访问各个元素?
更新:感谢您的以下回答。我需要从 C 而不是从 Python 读取 hdf5 文件 - 我知道该怎么做。例如:
import h5py as t
import numpy as np
f=t.File('\tmp\tmp.h5', 'w')
#this file is 2+GB
ofmat=np.load('offsetmatrix.npy')
f['FileDataset']=ofmat
f.close()
现在我有一个名为“\tmp\tmp.h5”的 hdf5 文件。我需要做的是使用 C (而不是 python)从 hdf5 文件中读取各个数组元素,以便我可以对这些元素执行某些操作。 This展示如何扩展 numpy 数组。如何扩展hdf5?
编辑:语法
最佳答案
h5py 为您提供了一个直接接口(interface)来读取/写入和操作存储在 hdf5 文件中的数据。你看过文档吗?
我建议从这些开始。这些有非常清晰的示例说明如何进行简单的数据访问。如果您尝试执行的某些特定操作未在 h5py 中的方法中涵盖,您能否更具体地描述您所需的用法?
关于python - 如何扩展 h5py 以便我可以访问 hdf5 文件中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396768/