scipy.io.matlab.

savemat#

scipy.io.matlab.savemat(file_name, mdict, appendmat=True, format='5', long_field_names=False, do_compression=False, oned_as='row')[source]#

将名称和数组的字典保存到 MATLAB 样式的 .mat 文件中。

这会将给定字典中的数组对象保存到 MATLAB 样式的 .mat 文件中。

参数:
file_namestr 或类似文件的对象

.mat 文件的名称(如果 appendmat == True,则不需要 .mat 扩展名)。也可以传递打开的类似文件的对象。

mdictdict

从中保存 matfile 变量的字典。请注意,如果此 dict 具有以 _ 开头的键,或者子 dict 具有以 _ 或数字开头的键,则这些键的项目将不会保存在 mat 文件中,并且将发出 MatWriteWarning

appendmatbool, 可选

True(默认值)将 .mat 扩展名追加到给定文件名的末尾(如果尚未存在)。

format{‘5’, ‘4’}, string, 可选

“5”(默认值)表示 MATLAB 5 及更高版本(直到 7.2),“4”表示 MATLAB 4 .mat 文件。

long_field_namesbool, 可选

False(默认值) - 结构中的最大字段名称长度为 31 个字符,这是文档中记录的最大长度。True - 结构中的最大字段名称长度为 63 个字符,这适用于 MATLAB 7.6+。

do_compressionbool, 可选

是否压缩写入的矩阵。默认为 False。

oned_as{‘row’, ‘column’}, 可选

如果为“column”,则将 1-D NumPy 数组写为列向量。如果为“row”,则将 1-D NumPy 数组写为行向量。

示例

>>> from scipy.io import savemat
>>> import numpy as np
>>> a = np.arange(20)
>>> mdic = {"a": a, "label": "experiment"}
>>> mdic
{'a': array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19]),
'label': 'experiment'}
>>> savemat("matlab_matrix.mat", mdic)