如何访问用h5py打开的.mat文件的字段

时间:2017-07-19 19:22:00

标签: arrays matlab h5py

我有一个结构S,我存储在一个.mat文件中,我用MATLAB -v7.3构建(因为结构太大,> 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

1 个答案:

答案 0 :(得分:0)

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