当我尝试使用h5py导入文件夹时,我可以打开。但是,当我尝试访问其数据集时,它表示存在错误。有原因吗?
下面的代码用于导入文件夹:
hf = h5py.File('filename', 'r')
但是,当我使用下面的代码时,出现错误:
x = np.array(hf["dataset"])
答案 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类:Group
或Dataset
。