Я мог проверить это так, и у меня не было проблем:
В Matlab:
>> a = ' hello mat file'
a =
hello mat file
>> filename = 'test.mat'
filename =
test.mat
>> save(filename)
, а затем в Python:
import scipy.io as scio
data = scio.loadmat('test.mat')
data
Out:
{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Tue Nov 27 10:20:58 2018',
'__version__': '1.0',
'__globals__': [],
'a': array([' hello mat file'], dtype='<U15'),
'filename': array(['test.mat'], dtype='<U8')}
data['a']
Out: array([' hello mat file'], dtype='<U15')
Так что сообщение об ошибке отсутствуетздесь.
Однако обратите внимание, что в Matlab save
по умолчанию сохраняет все содержимое текущего рабочего пространства в файле mat.Возможно ли, что вы создали некоторые другие переменные, которые могут быть неподдерживаемого типа?
Вы можете проверить, просто явно сохранив только свою тестовую переменную a
:
save(filename, 'a')
Приводит ли это к импортируемому mat-файлу в python?