如何使用 hd5f 访问 *.mat 文件中的嵌套结构?

我尝试访问 matlab 文件 (*.mat) 的以下结构:

父matlab结构

其中包含以下一组结构

嵌套结构

我尝试使用hd5f python lib访问每个结构内的字段

使用以下代码:

mat_dict = h5py.File(file_path, 'r')
result = mat_dict['JKPRR']['results']['ChangingKnob'][0]['result']

但显然我无法深入:

result = mat_dict['JKPRR']['results']['ChangingKnob'][0]

有人知道我怎样才能进入更深的领域吗?


哈士奇WWW
浏览 89回答 1
1回答

qq_花开花谢_0

首先,简单一点:ChangingKnob 数据集看起来是二维的,因此要获取一项,您需要两个索引:mat_dict['JKPRR']['results']['ChangingKnob'][0, 0]这是等效的,但更容易阅读:mat_dict['JKPRR/results/ChangingKnob'][0, 0]看起来 Matlab 在数据集中存储了 HDF5 引用(一种链接),因此您需要遵循该引用:> ref = mat_dict['JKPRR/results/ChangingKnob'][0, 0] dataset = > mat_dict[ref]希望之后你可以使用 dataset['result'] 来访问一个字段,除非 Matlab 制造了更多障碍。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python