python 中是否有一个函数可以显示 .hdf5 文件的完整结构?

Is there in python a single function that shows the full structure of a .hdf5 file?

打开 .hdf5 文件时,可以浏览文件的级别、键和名称 以不同的方式。我想知道是否有一种方法或函数可以显示 .hdf5 中所有可用的探索路径。最终展示整棵树。

尝试使用 nexuformat 包列出 hdf5 文件的结构。

通过 pip install nexusformat

安装

代码

import nexusformat.nexus as nx
f = nx.nxload(‘myhdf5file.hdf5’)
print(f.tree)

这应该打印文件的整个结构。有关更多信息,请参阅 this thread. Examples can be found here

您也可以在不编写任何 Python 代码或安装其他软件包的情况下获取文件 schema/contents。如果您只想查看整个模式,请查看 HDF Group 中的 h5dump 实用程序。有一些选项可以控制转储的详细信息量。注意:默认选项是转储一切。要获取 quick/small 转储,请使用 :h5dump -n 1 --contents=1 h5filename.h5.

另一个 Python 包是 PyTables。它有一个实用程序 ptdump,这是一个查询 HDF 文件的命令行工具(类似于上面的 h5dump)。

最后,如果您想在 Python 中以编程方式递归访问组和数据集,这里有一些提示。 h5pytables (PyTables) 每个都有方法来做到这一点:

在 h5py 中:
使用 object.visititems(callable) 方法。它为树中的每个对象调用可调用函数。

在 PyTables 中:
PyTables 有多种递归访问组、数据集和节点的方法。有些方法 return 一个可迭代对象 (object.walk_nodes),或者 return 一个列表 (object.list_nodes)。还有一种方法,returns 是一个非递归的可迭代对象(object.iter_nodes)。