python读取和保存mat文件

1、mat文件

      mat数据格式是Matlab的数据存储的标准格式。在Matlab中主要使用load()函数导入一个mat文件,使用save()函数保存一个mat文件。对于文件python

load('data.mat')
save('data_1.mat','A')

其中,'A'表示要保存的内容。函数

2、python中读取mat文件

    在python中能够使用scipy.io中的函数loadmat()读取mat文件,函数savemat保存文件。code

一、读取文件
    如上例:ip

# coding:UTF-8
'''
Created on 2019年8月26日
'''
 
import scipy.io as scio
 
dataFile = 'E://data.mat'
data = scio.loadmat(dataFile)

注意,读取出来的data是字典格式,能够经过函数type(data)查看。utf-8

print type(data)

结果显示ci

<type 'dict'>io

找到mat文件中的矩阵:class

print data['A']

结果显示import

[[ 0.          0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.          0.
   ..................
   0.          0.          0.          0.          0.          0.          0.
   0.36470588  0.90196078  0.99215686  0.99607843  0.99215686  0.99215686
   0.78431373  0.0627451   0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.          0.
   ..................
   0.94117647  0.22745098  0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.30196078
   ..................
   0.          0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.          0.        ]]coding

格式为:

<type 'numpy.ndarray'>

即为numpy中的矩阵格式。
二、保存文件
将这里的data['A']矩阵从新保存到一个新的文件dataNew.mat中:

# coding: utf-8

dataNew = 'E://dataNew.mat'
scio.savemat(dataNew, {'A':data['A']})

注意:是以字典的形式保存。