我想将python中的元素列表(r)保存为.mat文件格式,然后将其转换为数组
r = Lattice([Marker('l000015$start', NumIntSteps=40, length=array(0.)), Marker('ip.1', NumIntSteps=40, length=array(0.)), Drift('drift_0', 2.2002250210956804), Quadrupole('qc1l1.1', 1.2, -0.6451875623775719, NumIntSteps=40), Monitor('BPM0'), Drift('drift_1', 0.08000000000000007), Monitor('BPM1'), Quadrupole('qc1r2.1', 1.0, 0.34045204285588043, NumIntSteps=40), Monitor('BPM2'), Drift('drift_2', 0.08000000000000007), Monitor('BPM3'), Quadrupole('qc1r3.1', 1.0, 0.18818867758026042, NumIntSteps=40), Monitor('BPM4'), Drift('drift_3', 0.2999999999999998), Quadrupole('qc2r1.1', 1.25, 0.026716664923441297, NumIntSteps=40), Monitor('BPM5'), Drift('drift_4', 0.08000000000000096), Monitor('BPM6'), Quadrupole('qc2r2.1', 1.25, -0.02041914442905664, NumIntSteps=40), Monitor('BPM7'),..........
import numpy as np
import scipy.io
arr = np.array(r)然后我试着用
scipy.io.savemat('file.mat', arr)我得到了错误按摩
AttributeError: 'numpy.ndarray' object has no attribute 'items'请你向我解释一下“物品”是什么意思,
我在python中从.mat中导入了这个列表,然后在python中添加了一些元素,现在我想以.mat格式保存它。
发布于 2022-02-09 21:38:40
第二个参数需要是包含要保存的所有变量的字典。因此,我们可以按以下方式修复您的代码。
scipy.io.savemat('file.mat', {'matrix_name':arr})https://stackoverflow.com/questions/71057026
复制相似问题