Matlab单元格数组到python列表转换

时间:2018-04-12 07:30:49

标签: python matlab type-conversion

我有大小为(1,260)的Matlab单元格数组,但我无法将其转换为Python列表。我的代码如下:

i=sio.loadmat('bispec.mat')
k=i['a']

执行代码后,我在变量资源管理器中获取这些实体。

explorer variables

我试图通过以下代码将名为k的Matlab单元数组转换为Python列表。

val = np.asarray(k, dtype='float').tolist()

但我收到以下错误。

Error

1 个答案:

答案 0 :(得分:0)

如其中一张图片所示,您尝试过:

val = np.asarray(k, dtype='double').tolist()

double周围不应有引号。你应该实际使用:

val = np.asarray(k, dtype=np.longdouble).tolist()


进一步补充说,发生此错误的另一个原因是尝试将字符串用作数组类型double中的元素。如果你真的想要一个包含字符串和双精度的NumPy数组,你可以使用dtype object,它使数组能够保存任意Python对象,如图所示。

val = np.asarray(k, dtype=object).tolist()