Python 如何扩展h5py,以便我可以访问hdf5文件中的数据?

Python 如何扩展h5py,以便我可以访问hdf5文件中的数据?,python,numpy,python-module,hdf5,h5py,Python,Numpy,Python Module,Hdf5,H5py,我有一个小python程序,它使用h5py模块创建一个hdf5文件。我想编写一个python模块来处理hdf5文件中的数据。我怎么能这么做 更具体地说,我可以将numpy数组设置为PyArrayObject,并使用PyArg_ParseTuple读取它们。这样,我可以在编写python模块时从numpy数组中读取元素。如何读取hdf5文件以便访问单个元素 更新:谢谢你的回答。我需要从C而不是Python中读取hdf5文件——我知道怎么做。例如: import h5py as t import n

我有一个小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文件中读取单个数组元素,这样我就可以处理这些元素了。演示如何扩展numpy数组。如何扩展hdf5


编辑:Grammar

h5py为您提供了一个直接的接口,用于读取/写入和操作存储在hdf5文件中的数据。你看过文件了吗


我建议从这些开始。这些示例非常清楚地说明了如何进行简单的数据访问。如果h5py中的方法没有涵盖您正在尝试做的某些特定事情,请您对所需的用法进行更具体的描述好吗?

如果您实际上不需要HDF5的特定结构,但您只需要速度和跨平台兼容性,我建议您看一看。它具有读取和写入Numpy数组的内置功能。

如果您使用“
PyArrayObject
”,听起来像是在使用C接口。。。你是在写C还是python?如果你真的想从C代码中读取HDF5文件,为什么不使用HDF5C库呢?这比使用一个设计用于Python代码的库要容易得多。谢谢Sven,这就是我想要做的。但是我想写一个python模块。此模块将执行一些复杂的计算(在C中更快),然后将结果返回到python脚本。您可能需要考虑使用
cython
并调用低级HDF5 C函数来访问数据。或者,将数据块拉入numpy数组,然后使用cython或编写python扩展名对numpy数组进行计算:JoshAdel,我使用[this HDFF C function]()直接打开hdf5文件并进行计算,然后将计算结果发送回python。谢谢。@Josh:我不知道。谢谢你告诉我。