【发布时间】:2019-01-04 00:33:38
【问题描述】:
我从朋友那里收到了这个 .h5 文件,我需要将其中的数据用于一些工作。所有数据都是数字。这是我第一次使用这类文件。我在这里找到了许多关于阅读这些文件的问题和答案,但我找不到进入文件包含的较低级别的组或文件夹的方法。 该文件包含两个主要文件夹,即 X 和 Y X 包含一个名为 0 的文件夹,其中包含两个名为 A 和 B 的文件夹。 Y 包含十个名为 1-10 的文件夹。 我要读取的数据在 A,B,1,2,..,10 例如我从
f = h5py.File(filename, 'r')
f.keys()
现在f返回 [u'X', u'Y'] 两个主要文件夹
然后我尝试使用 read_direct 读取 X 和 Y,但出现错误
AttributeError: 'Group' 对象没有属性 'read_direct'
我尝试如下为 X 和 Y 创建一个对象
obj1 = f['X']
obj2 = f['Y']
那么如果我使用像
这样的命令obj1.shape
obj1.dtype
我收到一个错误
AttributeError:“组”对象没有属性“形状”
我可以看到这些命令不起作用,因为我在 X 和 Y 上使用 then,这些文件夹不包含数据,但包含其他文件夹。
所以我的问题是如何进入名为 A、B、1-10 的文件夹来读取数据
即使在文档 http://docs.h5py.org/en/latest/quick.html 中我也找不到这样做的方法
【问题讨论】:
-
组就像 Python 字典。您必须继续向下索引组,直到到达
dataset。它有一个.shape,并且能够以numpy数组的形式下载。x = f["x']['foo']['bar'][...]
标签: python arrays numpy hdf5 h5py