我是一位新手Matlab用户,希望学习Python。我想将Matlab的字符串单元数组写入Mat文件,并使用Python(可能是scipy.io.loadmat)加载此Mat文件到某个类似类型的对象(例如字符串列表或字符串元组)。但是loadmat将数据读取为数组,我不确定如何将其转换为列表。我尝试了“tolist”函数,但它没有按照我预期的方式工作(我对Python数组或numpy数组的理解不太好)。例如:
Matlab代码:
我不确定如何将这个字符串数组转换成Python列表或元组,使它看起来像这样:
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)
我不确定如何将这个字符串数组转换成Python列表或元组,使它看起来像这样:
list_of_strings = ['thank', 'you', 'very', 'much'];
我不熟悉Python或numpy的数组对象。非常感谢您的帮助。