Scipy輸入和輸出


Scipy.io包提供了多種功能來解決不同格式的檔案(輸入和輸出)。 其中一些格式是 -

  • Matlab
  • IDL
  • Matrix Market
  • Wave
  • Arff
  • Netcdf等

這裡討論最常用的檔案格式 -

MATLAB

以下是用於載入和儲存.mat檔案的函式。

編號 函式 描述
1 loadmat 載入一個MATLAB檔案
2 savemat 儲存為一個MATLAB檔案
3 whosmat 列出MATLAB檔案中的變數

讓我們來看看下面的例子。

import scipy.io as sio
import numpy as np

#Save a mat file
vect = np.arange(10)
sio.savemat('array.mat', {'vect':vect})

#Now Load the File
mat_file_content = sio.loadmat('array.mat')
print (mat_file_content)

上述程式將生成以下輸出 -

{
   'vect': array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]), '__version__': '1.0', 
   '__header__': 'MATLAB 5.0 MAT-file Platform: posix, Created on: Sat Sep 30 
   09:49:32 2017', '__globals__': []
}

可以看到陣列以及元資訊。 如果想在不讀取資料到記憶體的情況下檢查MATLAB檔案的內容,請使用如下所示的whosmat命令。

import scipy.io as sio
mat_file_content = sio.whosmat(‘array.mat’)
print (mat_file_content)

上述程式將生成以下輸出。

[('vect', (1, 10), 'int64')]