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 中以编程方式递归访问组和数据集,这里有一些提示。 h5py
和 tables
(PyTables) 每个都有方法来做到这一点:
在 h5py 中:
使用 object.visititems(callable)
方法。它为树中的每个对象调用可调用函数。
在 PyTables 中:
PyTables 有多种递归访问组、数据集和节点的方法。有些方法 return 一个可迭代对象 (object.walk_nodes
),或者 return 一个列表 (object.list_nodes
)。还有一种方法,returns 是一个非递归的可迭代对象(object.iter_nodes
)。
打开 .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 中以编程方式递归访问组和数据集,这里有一些提示。 h5py
和 tables
(PyTables) 每个都有方法来做到这一点:
在 h5py 中:
使用 object.visititems(callable)
方法。它为树中的每个对象调用可调用函数。
在 PyTables 中:
PyTables 有多种递归访问组、数据集和节点的方法。有些方法 return 一个可迭代对象 (object.walk_nodes
),或者 return 一个列表 (object.list_nodes
)。还有一种方法,returns 是一个非递归的可迭代对象(object.iter_nodes
)。