Python打开Mat文件

在Mac下没有安装Matlab,手头有些mat文件需要转换为TXT,一般来说,使用scipy.io可以轻易完成任务,即:

import scipy.io
import numpy as np
data = scipy.io.loadmat("file.mat")

此时data已经是np.array格式,可以通过print来查看内容,通过key来访问其中的内容。

但是有些mat文件的格式是.mat-v7.3,scipy.io不支持,这个时候需要使用h5py完成转换,如下:

import h5py
import numpy as np

f = h5py.File('file.mat', 'r')
f.visit(print) #打印一下文件结构,方便自己取值
'''
例如输出如下:
#refs#
#refs#/a
#refs#/b
#refs#/b/annoBegin
#refs#/b/fps
#refs#/b/len
#refs#/b/res
#refs#/b/startFrame
#refs#/b/type
'''
result = np.array(f[#refs#/b/res].value) # mat中的数据就被转化为了np.array,就可以开心的做各种事情了