Sau this question yêu cầu (và câu trả lời) cách đọc tệp .mat được tạo trong Matlab bằng Scipy, tôi muốn biết cách truy cập các trường trong cấu trúc đã nhập.Cách truy nhập các trường trong cấu trúc được nhập từ tệp .mat bằng cách sử dụng loadmat trong Python?
Tôi có một tập tin trong Matlab mà từ đó tôi có thể nhập một struct:
>> 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]
Bây giờ tôi muốn làm điều tương tự bằng 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)
Câu hỏi đặt ra là, làm thế nào tôi có thể truy cập các thành viên của cấu trúc G: Inp
, Tgt
, Ltr
và Relevant
, cách tôi có thể làm trong Matlab?
Trợ giúp (G) và dir (G) nói (và tương tự cho G [0]) – Kimvais
Điều gì xảy ra nếu bạn sử dụng 'x = scipy.io.loadmat (' bla.mat ', struct_as_record = True) '? Xem http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html – unutbu