zoukankan      html  css  js  c++  java
  • python读取mat文件

    一、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
    
    
    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']})
    


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

  • 相关阅读:
    js实现继承的5种方式
    JavaScript文件操作(1)-基础
    12 个免费在线的 Web 网站性能测试工具
    server r2 系统更新文件清理
    在C#中,Json的序列化和反序列化的几种方式总结
    ES6,新增数据结构Set的用法
    ES6中有关数组的一些新操作
    vue中mode hash 和 history的区别
    POST和GET的区别
    前端的细节
  • 原文地址:https://www.cnblogs.com/anyview/p/5064174.html
Copyright © 2011-2022 走看看