如何访问用 h5py 打开的 .mat 文件的字段
how to access fields of .mat file opened with h5py
我有一个结构 S
,它存储在我用 MATLAB -v7.3 构建的 .mat 文件中(因为结构太大,>2GB 需要 -v7.3)。不幸的是,现在我无法用 spio.loadmat('myfile.mat')
打开我的文件,所以我用 h5py
打开它:
f = h5py.File('myfile.mat')
我的结构 S
有 3 个字段,大小为 700。
例如。
S(1).field1 = some array
S(1).field2 = some array
S(1).field3 = some array
....
S(700).field1 = some array
S(700).field2 = some array
S(700).field3 = some array
我的问题是,如何访问这些字段和一些 h5py 格式的数组值?使用 f
?
idx = f['S/field1'][0][0] #serves as an index where f contains the field object
field1_object = f[idx] #access the field object
field1_content = field1_object.value #reveal the array
...
idx = f['S/field2'][699][0]
field2_object = f[idx]
field2_content = field2_object.value
我有一个结构 S
,它存储在我用 MATLAB -v7.3 构建的 .mat 文件中(因为结构太大,>2GB 需要 -v7.3)。不幸的是,现在我无法用 spio.loadmat('myfile.mat')
打开我的文件,所以我用 h5py
打开它:
f = h5py.File('myfile.mat')
我的结构 S
有 3 个字段,大小为 700。
例如。
S(1).field1 = some array
S(1).field2 = some array
S(1).field3 = some array
....
S(700).field1 = some array
S(700).field2 = some array
S(700).field3 = some array
我的问题是,如何访问这些字段和一些 h5py 格式的数组值?使用 f
?
idx = f['S/field1'][0][0] #serves as an index where f contains the field object
field1_object = f[idx] #access the field object
field1_content = field1_object.value #reveal the array
...
idx = f['S/field2'][699][0]
field2_object = f[idx]
field2_content = field2_object.value