使用savemat保存和加载Python字典会导致错误
发布于 2021-01-29 15:21:47
这是我得到的错误的最小示例。如果我正确理解了文档,则应该可以正常工作,但似乎没有。
a={}
a['test1']=1
a['test2']=2
a['test3']=3
import scipy.io as io
io.savemat('temp',{'a':a})
b = io.loadmat('temp')
b['a'].keys()
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'keys'
关注者
0
被浏览
46
1 个回答
-
您似乎在
scipy.io.savemat
旨在能够保存标准字典的假设下进行操作。我认为情况并非如此。字典参数包含被写入Matlab文件的
numpy数组 的名称。所以你可以做这样的事情import scipy.io as io import numpy as np y1=np.array([1,2,3,4]) y2=np.array([10,20,30,40]) y3=np.array([100,200,300,400]) a={} a['test1']=y1 a['test2']=y2 a['test3']=y3 io.savemat('temp',a) b = io.loadmat('temp') print b['test1'] print b['test2'] print b['test3']
这使:
[[1] [2] [3] [4]] [[10] [20] [30] [40]] [[100] [200] [300] [400]]