Как загрузить массив ячеек строк в файлах Matlab mat в список или кортеж Python с помощью Scipy.io.loadmat

Я пользователь Matlab новичок в Python. Я хотел бы записать массив ячеек строк в Matlab в файл Mat и загрузить этот файл Mat с помощью Python (возможно, scipy.io.loadmat) в некоторый аналогичный тип (например, список строк или кортеж строк). Но loadmat считывает данные в массив, и я не уверен, как преобразовать его в список. Я попробовал функцию "tolist", которая не работает, как я ожидал (я плохо понимаю массив Python или массив numpy). Например:

Код Matlab:

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

Тогда переменная array_of_strings:

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)

Я не уверен, как преобразовать этот array_of_strings в список или кортеж Python, чтобы он выглядел как

list_of_strings = ['thank',  'you', 'very', 'much'];

Я не знаком с объектом массива в Python или numpy. Мы будем очень благодарны за вашу помощь.

6
задан Amro 4 August 2012 в 04:05
поделиться