SciPy 教程-SciPy 输入和输出

SciPy.io(输入和输出)包支持广泛的函数,用于处理不同格式的文件。这些格式包括:
- Matlab
- IDL
- 矩阵市场(Matrix Market)
- Wave
- Arff
- Netcdf 等
以下是使用 SciPy.io 进行文件操作的示例:
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)
输出:
{'__header__': b'MATLAB 5.0 MAT-file Platform: nt, Created on: Wed Nov 13 14:38:57 2019', '__version__': '1.0', '__globals__': [], 'vect': array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])}
我们可以看到数组包含了信息。如果我们想在不将数据读入内存的情况下查看 MATLAB 文件的内容,可以使用 whosmat 命令,如下所示:
import scipy.io as sio
mat_file_content = sio.whosmat('array.mat')
print(mat_file_content)
输出:
[('vect', (1, 10), 'int64')]
这样,我们可以在不加载整个数据的情况下,快速查看 MATLAB 文件中包含的变量及其属性。