scipy库
使用sicpy.io即可.sicpy.io提供了两个函数loadmat和savemat,非常方便.
以前也有一些开源的库(pymat和pymat2等)来做这个事,
不过自从有了numpy和scipy以后,这些库都被抛弃了.
下面是一个简单的测试程序,具体的函数用法可以看帮助文档:
取出数据的时候,从mat文件读出来的是dict类型的数据,我们只需要写入他的key值就可以取出相应的数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import scipy.io as sio import matplotlib.pyplot as plt import numpy as np
matfn=u'E:/python/测试程序/162250671_162251656_1244.mat' data=sio.loadmat(matfn) plt.close('all') xi=data['xi'] yi=data['yi'] ui=data['ui'] vi=data['vi'] plt.figure(1) plt.quiver( xi[::5,::5],yi[::5,::5],ui[::5,::5],vi[::5,::5]) plt.figure(2) plt.contourf(xi,yi,ui) plt.show() sio.savemat('saveddata.mat', {'xi': xi,'yi': yi,'ui': ui,'vi': vi})
|
mat4py库:
功能: 将Matlab 数据导入为基本的Python数据类型。矩阵是以行为组的存储方式(使用列表的列表)。 Matlab结构体Struct和元胞Cell 使用Python的词典表示。
1 2 3 4
| import mat4py student1 = mat4py.loadmat('student.mat') student1 = student1['student'] print type(student1)
|