龙空技术网

Day211:读写mat数据

做个自律的禾苗 57

前言:

目前小伙伴们对“python中mat函数”都比较重视,同学们都需要知道一些“python中mat函数”的相关知识。那么小编也在网络上网罗了一些有关“python中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:

参考2:

标签: #python中mat函数 #numpy中mat函数