varmats_from_mat#
- scipy.io.matlab.varmats_from_mat(file_obj)[источник]#
Извлечь переменные из файла mat 5 в виде последовательности объектов mat-файлов
Это может быть полезно при работе со сложным mat-файлом, содержащим нечитаемые переменные. Эта процедура извлекает переменные в сыром виде и помещает их, не читая, обратно в файловый поток для сохранения или чтения. Другой случай использования — патологическая ситуация, когда в файле есть несколько переменных с одинаковым именем; эта процедура возвращает дубликаты, тогда как стандартный читатель перезаписывает дубликаты в возвращаемом словаре.
Указатель файла в file_obj будет неопределён. Указатели файлов для возвращаемых файлоподобных объектов установлены в 0.
- Параметры:
- file_objфайлоподобный
файловый объект, содержащий mat-файл
- Возвращает:
- named_matslist
список содержит кортежи (name, BytesIO), где BytesIO — файлоподобный объект, содержащий содержимое mat-файла для одной переменной. BytesIO содержит строку с оригинальным заголовком и одной переменной. Если
var_file_objявляется отдельным экземпляром BytesIO, тогда сохранить как mat-файл с помощью, например,open('test.mat', 'wb').write(var_file_obj.read())
Примеры
>>> 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']