使用scipy.io.savemat保存NumPy数组列表为mat文件时出现list无items属性错误如何解决
报错原因
scipy.io.savemat的第二个入参要求为字典类型:字典的键会作为mat文件内部的变量名,值对应该变量存储的具体内容。你直接传入了列表类型的output,列表本身没有items()方法,因此触发报错。
修复方案
你可以根据使用需求选择以下两种方案:
- 方案1:将整个列表作为单个变量存入mat文件,读取时会得到对应格式的cell数组
仅需修改savemat调用代码即可:scipy.io.savemat('test.mat', {'output': output}) - 方案2:将每个numpy数组作为独立变量存入mat文件,变量名可自定义
调整后完整代码如下:import numpy as np import scipy.io mat_dict = {} for i in range(10): a = np.random.randint(0,100,size=(60,60,4)) mat_dict[f'arr_{i}'] = a scipy.io.savemat('test.mat', mat_dict)
内容的提问来源于stack exchange,提问作者Saman
相关产品推荐
相关产品推荐

