Seite 1 von 1

Auf structure array aus Matlab-Datei zugreifen

Verfasst: Dienstag 17. Februar 2015, 11:52
von janiboy46
Hallo,

ich möchte gerne auf Werte aus einem Matlab structure array in Python zugreifen. Nachdem ich die Matlab-Datei folgendermaßen in Python eingelesen habe

from scipy.io import loadmat
a = loadmat('file.mat')

weiß ich allerdings nicht genau, wie ich auf die einzelnen Elemente des Arrays (es handelt sich um ein 80x80-Array) zugreifen kann.
Der Zugriff in Matlab würde ja dann z.B. folgendermaßen aussehen:

b = a(1,1)

Da ich allerdings mit Python noch nicht viel Erfahrung habe, komme ich an dieser Stelle nicht weiter.
Vielleicht kann mir ja jemand sagen, wie der Zugriff in Python aussieht!

Re: Auf structure array aus Matlab-Datei zugreifen

Verfasst: Dienstag 17. Februar 2015, 11:59
von EyDu
In der SciPy-Dokumentation gibt es dazu eine schöne Übersicht.

Re: Auf structure array aus Matlab-Datei zugreifen

Verfasst: Dienstag 17. Februar 2015, 12:18
von janiboy46
Wo soll das denn genau stehen?
Mit b = a[1,1] geht's auf jeden Fall nicht! Das klappt bei mir nur, wenn ich das Array in Python selbst angelegt habe, aber nicht, wenn ich es aus einer Matlab-Datei einlese (Da kommt dann folgender Fehler: KeyError: (1, 1) )

Re: Auf structure array aus Matlab-Datei zugreifen

Verfasst: Dienstag 17. Februar 2015, 12:28
von gkuhl
``scipy.io.loadmat`` gibt ein Dictionary zurück mit den Variabelnamen als Schlüsselwörtern (siehe Dokumentation: http://docs.scipy.org/doc/scipy-0.14.0/ ... admat.html).