玖叶教程网

前端编程开发入门

Day211:读写mat数据(读取mat数据)

.mat文件

mat数据格式是Matlab的数据存储的标准格式。在Matlab中主要使用load()函数导入一个mat文件,使用save()函数保存一个mat文件。在python中,使用模块scipy.io的函数loadmat和savemat可以实现Python对mat数据的读写

函数介绍

scipy.io.loadmat(file_name, mdict=None, appendmat=True, **kwargs)
scipy.io.savemat(file_name, mdict, appendmat=True, format='5', long_field_names=False, do_compression=False, oned_as='row')

savemat()

x = [1, 2, 3]
y = [[4, 5, 6], [44, 55, 66]]
z = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
matFile = r'D:\Code\python\TouTiao\Numpy\mat\saveddata.mat'
sio.savemat(matFile, {'x': x, 'y': y, 'z': z})  # 注意是以字典的形式保存

loadmat()

dataFile = r'D:\Code\python\TouTiao\Numpy\mat\saveddata.mat'
data = sio.loadmat(dataFile)
print(type(data))  # <class 'dict'>, 读取出来的data是字典格式,可以通过函数type(data)查看
print(data['x'])   # [[1 2 3]]  一维变为二维,注意,1-D numpy arrays会因savemat中参数oned_as的赋值有相应变化
print(data['y'])
                    # [[ 4  5  6]
                    #  [44 55 66]]
print(data['z'])
                    # [[[1 2]
                    #   [3 4]]
                    #  [[5 6]
                    #   [7 8]]]

注意事项

(1)矩阵用Python读取得到的是array的内容

(2)1-D numpy arrays会因savemat中参数oned_as的赋值有相应变化。

(3)在使用MATLAB时注意数据的格式转换


参考1:http://blog.csdn.net/rumswell/article/details/8545087

参考2:https://blog.csdn.net/google19890102/article/details/45672305

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言