python讀取檔案——python讀取和儲存mat檔案

風景不在對岸wj發表於2017-11-20

 首先我們談談MarkDown編輯器,我感覺些倒是挺方便的,因為用慣了LaTeX,對於MarkDown還是比較容易上手的,但是我發現,MarkDown中有這樣幾個問題一直沒能找到具體的解決方法:

  1. 圖片大小的問題。在LaTeX中我們可以調整圖片的大小,以適應整個文字;
  2. 字型,字號大小的設定。在MarkDown裡面標題倒是挺大的,但是正文卻顯得太小,不是很喜歡裡面的字型。

主要發現上面兩個問題導致編輯出來的文字挺難看。

一、mat檔案

       mat資料格式是Matlab的資料儲存的標準格式。在Matlab中主要使用load()函式匯入一個mat檔案,使用save()函式儲存一個mat檔案。對於檔案


[plain] view plain copy
  1. load('data.mat')  

[plain] view plain copy
  1. save('data_1.mat','A')  


其中,'A'表示要儲存的內容。


二、python中讀取mat檔案

    在python中可以使用scipy.io中的函式loadmat()讀取mat檔案,函式savemat儲存檔案。

1、讀取檔案

    如上例:

[python] view plain copy
  1. #coding:UTF-8  
  2. ''''' 
  3. Created on 2015年5月12日 
  4.  
  5. @author: zhaozhiyong 
  6. '''  
  7.   
  8. import scipy.io as scio  
  9.   
  10. dataFile = 'E://data.mat'  
  11. data = scio.loadmat(dataFile)  

注意,讀取出來的data是字典格式,可以通過函式type(data)檢視。

[python] view plain copy
  1. print type(data)  

結果顯示

[python] view plain copy
  1. <type 'dict'>  

找到mat檔案中的矩陣:

[python] view plain copy
  1. print data['A']  

結果顯示

[python] view plain copy
  1. [[ 0.          0.          0.          0.          0.          0.          0.  
  2.    0.          0.          0.          0.          0.          0.          0.  
  3. 。。。。。。。。。。。  
  4.    0.          0.          0.          0.          0.          0.          0.  
  5.    0.36470588  0.90196078  0.99215686  0.99607843  0.99215686  0.99215686  
  6.    0.78431373  0.0627451   0.          0.          0.          0.          0.  
  7.    0.          0.          0.          0.          0.          0.          0.  
  8.  。。。。。。。。。。。。  
  9.    0.94117647  0.22745098  0.          0.          0.          0.          0.  
  10.    0.          0.          0.          0.          0.          0.          0.  
  11.    0.          0.          0.          0.          0.          0.          0.  
  12.    0.          0.          0.          0.          0.          0.30196078  
  13. 。。。。。。。  
  14.    0.          0.          0.          0.          0.          0.          0.  
  15.    0.          0.          0.          0.          0.          0.          0.        ]]  

格式為:

[python] view plain copy
  1. <type 'numpy.ndarray'>  

即為numpy中的矩陣格式。

2、儲存檔案

將這裡的data['A']矩陣重新儲存到一個新的檔案dataNew.mat中:

[python] view plain copy
  1. dataNew = 'E://dataNew.mat'  

[python] view plain copy
  1. scio.savemat(dataNew, {'A':data['A']})  

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


原文地址:http://blog.csdn.net/google19890102/article/details/45672305

相關文章