экспортировать данные Matlab в Python - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть предложение «я несчастен», хранящееся в переменной «a» в matlab.Я хочу извлечь данные из Matlab в Python.например, если я напишу 'a' на python, он должен отобразить все предложение, хранящееся в MATLAB.и да, далее я хочу преобразовать это предложение в речь, используя gtts.

Я пытался, это:

from scipy.io import loadmat
test = loadmat('value.mat')

но это дает ошибку:

MatReadWarning: Duplicate variable name "None" in stream - replacing 
previous with new Consider mio5.varmats_from_mat to split file into 
single variable files matfile_dict = MR.get_variables(variable_names)

1 Ответ

0 голосов
/ 27 ноября 2018

Я мог проверить это так, и у меня не было проблем:

В 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?

...