scipy.io.matlab.
varmats_from_mat#
- scipy.io.matlab.varmats_from_mat(file_obj)[源代码]#
从 mat 5 文件中提取变量作为 mat 文件对象的序列
这对于包含无法读取的变量的困难的 mat 文件很有用。 此例程以原始形式提取变量,并将它们(未读取)放回文件流中以进行保存或读取。 另一种用途是病理情况,即文件中存在多个同名变量; 此例程返回重复项,而标准读取器将覆盖返回字典中的重复项。
file_obj 中的文件指针将是未定义的。 返回的文件类对象的文件指针设置为 0。
- 参数:
- file_obj类文件对象
包含 mat 文件的文件对象
- 返回值:
- named_mats列表
列表包含 (name, BytesIO) 元组,其中 BytesIO 是一个类文件对象,包含 mat 文件内容,就像单个变量一样。 BytesIO 包含一个字符串,其中包含原始标头和单个 var。 如果
var_file_obj
是单个 BytesIO 实例,则使用类似open('test.mat', 'wb').write(var_file_obj.read())
的内容将其另存为 mat 文件
示例
>>> import scipy.io >>> import numpy as np >>> from io import BytesIO >>> from scipy.io.matlab._mio5 import varmats_from_mat >>> mat_fileobj = BytesIO() >>> scipy.io.savemat(mat_fileobj, {'b': np.arange(10), 'a': 'a string'}) >>> varmats = varmats_from_mat(mat_fileobj) >>> sorted([name for name, str_obj in varmats]) ['a', 'b']