varmats_from_mat#
- scipy.io.matlab.varmats_from_mat(file_obj)[source]#
- Pull variables out of mat 5 file as a sequence of mat file objects - This can be useful with a difficult mat file, containing unreadable variables. This routine pulls the variables out in raw form and puts them, unread, back into a file stream for saving or reading. Another use is the pathological case where there is more than one variable of the same name in the file; this routine returns the duplicates, whereas the standard reader will overwrite duplicates in the returned dictionary. - The file pointer in file_obj will be undefined. File pointers for the returned file-like objects are set at 0. - Parameters:
- file_objfile-like
- file object containing mat file 
 
- Returns:
- named_matslist
- list contains tuples of (name, BytesIO) where BytesIO is a file-like object containing mat file contents as for a single variable. The BytesIO contains a string with the original header and a single var. If - var_file_objis an individual BytesIO instance, then save as a mat file with something like- open('test.mat', 'wb').write(var_file_obj.read())
 
 - Examples - >>> 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']