我是 Python 新手的 Matlab 用户。我想将 Matlab 中的字符串单元格数组写入 Mat 文件,并使用 Python(可能是 scipy.io.loadmat)将此 Mat 文件加载到类似的类型中(例如字符串列表或字符串元组)。但是 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 中的数组对象。您的帮助将不胜感激。