Экспортировать данные MATLAB в Python

У меня есть предложение «я недоволен», хранящееся в переменной «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)

Как вы что сохранили в какой версии мат-файла?

SpghttCd 24.11.2018 16:13

@SpghttCd Я мало что знаю об этом ... Я только что попробовал этот код: filename = 'test.mat'; сохранить (имя файла)

Huda Farooqui 25.11.2018 17:19
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
1 639
1

Ответы 1

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

В Matlab:

>> a = ' hello mat file'

a =

 hello mat file

>> filename = 'test.mat'

filename =

test.mat

>> save(filename)

а затем в питоне:

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')

Приводит ли это к импортируемому матовому файлу в Python?

Другие вопросы по теме