为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哈士奇WWW 2023-08-08 10:48:41
我尝试访问 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]有人知道我怎样才能进入更深的领域吗?
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

首先,简单一点: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 制造了更多障碍。


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信