我正在尝试导入包含单元格数组的.mat文件。 在matlab中我这样做了:
a={'element1';'element2';'element3'};
save('m.mat','-v7','a')
我使用了'-v7',因为在python中,我使用的'scipy.io'和'loadmat'只能用于版本7.在python中:
import scipy.io as sio
i=sio.loadmat('m.mat')
i.keys()
我得到了:
dict_keys(['__header__', '__version__', '__globals__', 'a'])
最后,我使用键'a':
k=i['a']
在变量资源管理器中我得到k,这是一个对象类型但我无法访问它的元素。如何将其转换为列表?
谢谢
答案 0 :(得分:1)
我注意到numpy.savetxt可以将您的数据转换为带有一个字符串列的csv。所以,我试着去做它的作用。而且我认为这就是你想要的:
val = []
for row in k:
v = '%s' % tuple(row)
val.append(v)
如果您的数据是数字,例如float,您可以尝试:
val = np.asarray(k, dtype='float').tolist()