Scipy输入和输出
Scipy输入和输出详细操作教程
Scipy.io包提供了多种功能来解决不同格式的文件(输入和输出)。 其中一些格式是 -
Matlab
IDL
Matrix Market
Wave
Arff
Netcdf等
这里讨论最常用的文件格式 -
MATLAB
以下是用于加载和保存.mat文件的函数。
编号 |
函数 |
描述 |
1 |
loadmat |
加载一个MATLAB文件 |
2 |
savemat |
保存为一个MATLAB文件 |
3 |
whosmat |
列出MATLAB文件中的变量 |
让我们来看看下面的例子。
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
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)
上述程序将生成以下输出 -
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
{
'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命令。
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
import scipy.io as sio
mat_file_content = sio.whosmat(‘array.mat’)
print (mat_file_content)
上述程序将生成以下输出。
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
[('vect', (1, 10), 'int64')]