如何从 HDF5 文件中读取属性?

Posted

技术标签:

【中文标题】如何从 HDF5 文件中读取属性?【英文标题】:How to read attribute from HDF5 file? 【发布时间】:2016-06-18 22:59:57 【问题描述】:

我正在使用ch.systemsx.cisd.hdf5.HDF5Factory(JHDF5) 提供的库来读取 HDF5 文件。他们的文档链接不能正常工作,我不知道该找谁来解决这个问题。

这里有人知道如何使用上面的 java 库从 HDF5 文件中读取属性值吗?

【问题讨论】:

此链接可能对您有所帮助:hdfgroup.org/ftp/HDF5/hdf-java/current/src/unpacked/examples/… 【参考方案1】:

经过多次反复试验,找到了解决方案。请在下面找到代码以从 HDF5 文件中读取属性值。

nwbFile - HDF5 文件的名称(应该打开)。 属性名:属性的名称。 path - 需要读取其属性的文件中节点的路径。

DataFormat dataset = (Dataset) FileFormat.findObject(nwbFile, path);
List<Attribute> attributes = dataset.getMetadata();
for(Attribute a : attributes)

    if(a.getName().equals(attributeName))
    
        Object obj = a.getValue();
        if (obj instanceof double[])
        
            Double d = ((double[]) obj)[0];
            return d.toString();
        
        else if (obj instanceof String[])
         
             return ((String[]) obj)[0];
        
    

【讨论】:

以上是关于如何从 HDF5 文件中读取属性?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Python 和 h5py 读取 HDF5 属性(元数据)

如何在异步上下文中读取(hdf5)文件?

如何使用 h5py 从 HDF5 数据集中读取字符串

如何读取值为可变长度 char* 数组的 HDF5 标量属性(即 c_strings?)

torch系列:torch中如何读取存放在hdf5文件中的字符串

如何使用 C++ API 在 HDF5 文件中写入/读取锯齿状数组?