今天需要读取一个.mat文件中的结构体数据,看了各种博客,竟然没有对这方面的描述。都是读取简单的数据形式,没有涉及如何读取结构体里的矩阵。最后还是在一篇对scipy的英文介绍里找到了自己想要的。记录一下,万一有人和我有一样的需求。(看到了一个和我问题一样的帖子,100多天前到现在还没人回复)

结构体形式如下:

我需要的是SYSLoad里的数据,按照网上大部分的读取方式,

X = loadmat(r"filename")
data_all = X['data'] #data为结构体的名称
print (data_all.shape)

 结果data_all的规模竟然是(1,1),6个字段的矩阵竟然都聚集到了一起。

搜了很多资料也没找到怎么单独查看SYSLoad矩阵的数据,最后在这里找到了方法。(果然还是函数的介绍文档里最详细)

https://docs.scipy/doc/scipy/reference/generated/scipy.io.loadmat.html#scipy.io.loadmat

代码如下:

data_all = X['data']
data = data_all[0,0]['SYSLoad']
print(data.shape)

结果如下:

 

 

更多推荐

python读取.mat 文件中的结构体数据