通过循环访问数据(创建列表)-迭代字段名(从Matlab导入Python)

7fyelxc5  于 2023-01-21  发布在  Matlab
关注(0)|答案(1)|浏览(117)

我想从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是一个100 x100的float 64数组。我怎么迭代字段名-最后一行。我的方法显然不正确。

sulc1iza

sulc1iza1#

答案很简单:

for field in mat['pyDMD']._fieldnames:
data.append(getattr(mat2['pyDMD'], field))

相关问题