SciPy 输入输出

GerwelsJI 2019-11-07


scipy.io(输入和输出)包用于读写各种格式的文件。scipy.io支持的格式很多,下面列出了几种常用格式:

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

MATLAB

Matlab 格式是最常用的。

下面是用于加载和保存.mat文件的函数。

  • loadmat 加载MATLAB文件
  • savemat 保存为MATLAB文件
  • whosmat 列出MATLAB文件中的变量

示例

import scipy.io as sio
import numpy as np

# 保存mat文件
vect = np.arange(20)
sio.savemat('array.mat', {'vect':vect})

# 加载文件
mat_file_content = sio.loadmat('array.mat')
print (mat_file_content)

上面的程序将生成以下输出。

{'__header__': b'MATLAB 5.0 MAT-file Platform: posix, Created on: Sun Jun 30 10:51:57 2019', '__version__': '1.0', '__globals__': [], 'vect': array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
        16, 17, 18, 19]])}

可以看到,文件中包含了文件元信息,以及我们保存的数组信息。

如果想在不加载文件的情况下,查看文件中的概要内容,可使用whosmat命令,如下所示。

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

上面的程序将生成以下输出。

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

相关推荐