После this question, который запрашивает (и отвечает), как читать файлы .mat, созданные в Matlab, используя Scipy, я хочу знать, как получить доступ к полям в импортированных структурах.Как получить доступ к полям в структуре, импортированной из файла .mat с помощью loadmat в Python?
У меня есть файл в Matlab, из которого я могу импортировать-структуру:
>> load bla % imports a struct called G
>> G
G =
Inp: [40x40x2016 uint8]
Tgt: [8x2016 double]
Ltr: [1x2016 double]
Relevant: [1 2 3 4 5 6 7 8]
Теперь я хочу сделать то же самое в Python:
x = scipy.io.loadmat('bla.mat')
>>> x
{'__version__': '1.0', '__header__': 'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Wed Jun 07 21:17:24 2006', 'G': array([[<scipy.io.matlab.mio5.mat_struct object at 0x0191F230>]], dtype=object), '__globals__': []}
>>> x['G']
array([[<scipy.io.matlab.mio5.mat_struct object at 0x0191F230>]], dtype=object)
>>> G = x['G']
>>> G
array([[<scipy.io.matlab.mio5.mat_struct object at 0x0191F230>]], dtype=object)
Вопрос в том, как я могу получить доступ члены структуры G: Inp
, Tgt
, Ltr
и Relevant
, как я могу в Matlab?
Что говорят (G) и dir (G) (и то же для G [0]) – Kimvais
Что произойдет, если вы используете 'x = scipy.io.loadmat (' bla.mat», struct_as_record = True)'? См. http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html – unutbu