【问题标题】:AttributeError: 'numpy.ndarray' object has no attribute 'items'AttributeError:“numpy.ndarray”对象没有属性“项目”
【发布时间】:2015-09-16 13:47:51
【问题描述】:

对于以下代码,我收到了我在标题中输入的错误:

import scipy.io as sio
import numpy as np

temp = np.load('temp.npy')
sio.savemat('final.mat',temp)

虽然AttributeError是python中的常见错误,但我没有发现任何对'items'有用的东西,如标题中所述。我们该如何解决这个问题?

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    我解决了这个问题如下:

    from scipy.io import savemat
    import numpy as np
    num= np.arange(20)
    mymat={'num':num}
    savemat('mymat.mat', mymat)
    

    【讨论】:

      【解决方案2】:

      第二个参数是字典而不是数组:

      来自docs

      mdict : 字典

      从中保存 matfile 变量的字典。

      我不太熟悉,但我想你将名称作为键传递,数组作为值传递,类似于:

      sio.savemat('final.mat',{"foo":temp})
      

      【讨论】:

      • 谢谢!我们是否必须将数组转换为字典才能将它们保存为 .mat 文件?
      • @A.M.,据我所知,您可以将字符串作为键传递,将数组作为值传递。还有其他关键字会影响数组的存储方式
      猜你喜欢
      • 2019-07-25
      • 2020-12-03
      • 2020-11-29
      • 2020-10-06
      • 2018-01-25
      • 2016-06-29
      • 2020-03-25
      • 2013-12-07
      • 2017-10-16
      相关资源
      最近更新 更多