關注this question請問(和答案)如何讀取使用Scipy在Matlab中創建的.mat文件,我想知道如何訪問導入結構中的字段。如何在Python中使用loadmat訪問從.mat文件導入的結構中的字段?
我在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 2009-12-31 10:08:36
如果使用'x = scipy.io.loadmat(' bla.mat」,struct_as_record = TRUE)'?見 http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html – unutbu 2009-12-31 12:00:33