【发布时间】:2020-11-23 00:35:07
【问题描述】:
我需要使用 python 将许多 .npz 文件转换为 .mat 文件。我的文件的排列方式类似于 datafile_1.npz、datafile_2.npz 等我想将它们转换为 datafile_1.mat、datafile_2.mat 文件等。目前我写了一个代码但出现错误 AttributeError: 'str' object has no attribute' items'...为什么这个错误我无法理解。我希望有人能提供帮助。
import numpy as np
import scipy.io
import glob
filpath=glob.glob('./datafile_*.npz')
for file in filpath:
#data = np.load('file',)
scipy.io.savemat('filepath'+'.mat', mdict=file)
print(data)
【问题讨论】:
-
以更小的步骤开发您的代码。加载一个 npz 文件,确保你知道如何读取它的所有数组。然后专注于将所有这些写到垫子上。仔细阅读文档。
-
@hpaulj,我在阅读文档后发现这是合适的脚本....您能否建议一些更好的解决方案,以最大限度地减少上述错误
-
询问错误时,显示产生错误的完整代码以及回溯。首先
file是文件名,所以不能作为savemat的源字典 -
第 834 行,在 put_variables 中为名称,在 mdict.items() 中为 var:AttributeError: 'str' object has no attribute 'items'
-
如何解决这个问题....给任何想法修改代码
标签: python matlab numpy for-loop scipy