Sono un utente Matlab nuovo di Python. Vorrei scrivere un array di celle di stringhe in Matlab in un file Mat e caricare questo file Mat usando Python (magari scipy.io.loadmat) in un tipo simile (ad esempio, elenco di stringhe o tupla di stringhe). Ma loadmat legge le cose in array e non sono sicuro di come convertirlo in una lista. Ho provato la funzione "tolist" che non funziona come mi aspettavo (ho una scarsa comprensione dell'array Python o dell'array numpy). Ad esempio: il codiceCome caricare l'array di celle di stringhe nei file Matlab mat nell'elenco Python o tuple usando Scipy.io.loadmat
Matlab: codice
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']
Poi, i array_of_strings variabile è:
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)
io non sono sicuro di come convertire questo array_of_strings in una lista Python o tupla in modo che assomigli a
list_of_strings = ['thank', 'you', 'very', 'much'];
Non ho familiarità con l'oggetto array in Python o numpy. Il tuo aiuto sarà molto apprezzato.
b.tolist() restituisce [[matrice ([[u't ', u'h', u'a ', u'n', u'k ']], dtype ='
Causality
@Denzel. Devi usare chars_as_strings = 1, matlab_compatible = 1? – Marcin