通过fieldname上的循环迭代访问数据(创建列表)(从Matlab导入到Python)



我想从matlab结构创建一个列表,如下所示:

#Import
mat2=sio.loadmat('TestData.mat',squeeze_me=True,struct_as_record=False)
#Solution without a loop
v1 = mat['pyDMD'].v1)
.
.
.
v17 = mat['pyDMD'].v2)
data = [v1, . . ., v17]
#Loop over fieldnames
data = []
fieldnames = []
fieldnames.append(mat['pyDMD']._fieldnames)
for t in range(len(fieldnames)):
data.append(mat['pyDMD'].fieldnames(t))

v1 . .V17是一个100x100的float64数组。我如何遍历字段名-最后一行。我的方法显然不正确。

答案很简单:

for field in mat2['pyDMD']._fieldnames:
snapshot = getattr(mat2['pyDMD'], field)
data.append(np.transpose(snapshot))

最新更新