无法在h5py中打开数据集

时间:2018-11-24 04:21:57

标签: h5py hdf

当我尝试使用h5py导入文件夹时,我可以打开。但是,当我尝试访问其数据集时,它表示存在错误。有原因吗?

下面的代码用于导入文件夹:

hf = h5py.File('filename', 'r')

但是,当我使用下面的代码时,出现错误:

x = np.array(hf["dataset"]) 

1 个答案:

答案 0 :(得分:0)

我认为您的语法错误很小。试试看(不带np.array):

x = hf['/dataset']

我认为您不需要以'/'开头来定义根级别,但是包括(IMHO)是个好习惯。

如果这不起作用,是时候再次检查您的HDF5内容。正如hpaulj所问,您确定dataset是在根级别吗?也许有一个中间小组?如果是这样,则需要定义对象的完整路径:

dset_table = hf['/topgroup/dataset']

我建议您使用 HDFView 检查文件,或运行 h5dump 实用程序。两者都可以在HDF Group Download网站上找到。这样就消除了编码问题。您还可以使用以下命令检查组名:

list(hf.keys())

您应该得到这样的信息(如果数据集确实在根级别):

['dataset']

最后,您可以使用.get()获取对象的类。

get(name, default=None, getclass=False, getlink=False)

设置getclass=True以获得Object类:GroupDataset