Jestem użytkownikiem Matlab nowym w języku Python. Chciałbym napisać tablicę ciągów znaków w Matlab do pliku Mat i załadować ten plik Mat używając Pythona (może scipy.io.loadmat) do jakiegoś podobnego typu (np. Lista ciągów lub krotek napisów). Ale loadmat odczytuje rzeczy do tablicy i nie jestem pewien, jak przekonwertować go na listę. Próbowałem funkcji "tolist", która nie działa zgodnie z oczekiwaniami (mam słabe zrozumienie tablicy Pythona lub tablicy numpy). Na przykład: KodJak załadować tablicę komórek ciągów w plikach Matlab Mat na listę lub krotkę w języku Python za pomocą Scipy.io.loadmat
Matlab: Kod
cell_of_strings = {'thank', 'you', 'very', 'much'};
save('my.mat', 'cell_of_strings');
Python:
matdata=loadmat('my.mat', chars_as_strings=1, matlab_compatible=1);
array_of_strings = matdata['cell_of_strings']
Następnie, zmienna array_of_strings jest:
array([[[[u't' u'h' u'a' u'n' u'k']], [[u'y' u'o' u'u']],
[[u'v' u'e' u'r' u'y']], [[u'm' u'u' u'c' u'h']]]], dtype=object)
Nie jestem pewien, jak konwertować to array_of_strings do listy lub krotki w języku Python, aby wyglądała jak
list_of_strings = ['thank', 'you', 'very', 'much'];
Nie jestem zaznajomiony z obiektem tablicy w Pythonie lub numpy. Twoja pomoc będzie bardzo ceniona.
b.tolist() daje [[array ([[u't ', u'h', u'a ', u'n', u'k ']], dtype ='
Causality
@Denzel. Czy musisz używać chars_as_strings = 1, matlab_compatible = 1? – Marcin