python读取文件——python读取和保存mat文件

时间:2022-05-04
本文章向大家介绍python读取文件——python读取和保存mat文件,主要内容包括一、mat文件、二、python中读取mat文件、2、保存文件、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

    首先我们谈谈MarkDown编辑器,我感觉些倒是挺方便的,因为用惯了LaTeX,对于MarkDown还是比较容易上手的,但是我发现,MarkDown中有这样几个问题一直没能找到具体的解决方法:

  1. 图片大小的问题。在LaTeX中我们可以调整图片的大小,以适应整个文本;
  2. 字体,字号大小的设置。在MarkDown里面标题倒是挺大的,但是正文却显得太小,不是很喜欢里面的字体。

主要发现上面两个问题导致编辑出来的文本挺难看。

一、mat文件

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

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

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

二、python中读取mat文件

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

1、读取文件

    如上例:

#coding:UTF-8
'''
Created on 2015年5月12日

@author: zhaozhiyong
'''

import scipy.io as scio

dataFile = 'E://data.mat'
data = scio.loadmat(dataFile)

注意,读取出来的data是字典格式,可以通过函数type(data)查看。

print type(data)

结果显示

<type 'dict'>

找到mat文件中的矩阵:

print data['A']

结果显示

[[ 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.        ]]

格式为:

<type 'numpy.ndarray'>

即为numpy中的矩阵格式。

2、保存文件

将这里的data['A']矩阵重新保存到一个新的文件dataNew.mat中:

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

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