Wie zu bewahren matlab-struct, wenn der Zugriff in python?
Ich habe eine mat-Datei, die ich über
from scipy import io
mat = io.loadmat('example.mat')
Aus der matlab-Beispiel.mat enthält die folgenden Struktur -
>> load example.mat
>> data1
data1 =
LAT: [53x1 double]
LON: [53x1 double]
TIME: [53x1 double]
units: {3x1 cell}
>> data2
data2 =
LAT: [100x1 double]
LON: [100x1 double]
TIME: [100x1 double]
units: {3x1 cell}
In matlab, ich kann auf Daten zugreifen, so einfach wie data2.LON, etc.. Es ist nicht so trivial in python. Geben Sie mir mehrere option, obwohl, wie
mat.clear mat.get mat.iteritems mat.keys mat.setdefault mat.viewitems
mat.copy mat.has_key mat.iterkeys mat.pop mat.update mat.viewkeys
mat.fromkeys mat.items mat.itervalues mat.popitem mat.values mat.viewvalues
Ist es möglich zu bewahren, haben die gleiche Struktur in python? Wenn nicht, wie man am besten auf die Daten zugreifen? Die vorliegende python-code, den ich verwende, ist sehr schwierig, mit zu arbeiten.
Dank
- Können Sie erklären, was es sieht aus wie beim laden in python?
- Auch ein anderer Gedanke. Wenn Sie SciPi haben Sie versucht, mit
SciPi.loadmat
? - ja, ich habe versucht, loadmat. Die Ausgabe in der python ist nur schwer zu verwenden. Ich weiß gar nicht, wie Sie Zugang zu LON-oder LAT-entweder data1 oder data2.
- Meine Vermutung ist, dass es wahrscheinlich nur
data1['LAT']
(python) im Gegensatz zudata1.LAT
(matlab). - Wenn Sie immer noch Probleme (und nicht Geist/teilen können) fühlen Sie sich frei, um pass entlang einer Probe .mat-Datei, und ich werde spielen, um mit es nach ich von der Arbeit komme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand dieses tutorial über das matlab-struct, und python
http://docs.scipy.org/doc/scipy/reference/tutorial/io.html
Wenn ich brauche, um das laden von Daten in Python von MATLAB gespeichert sind in ein array von structs {strut_1,struct_2} I extrahieren Sie eine Liste von Schlüsseln und Werten aus dem Objekt, das ich laden mit
scipy.io.loadmat
. Kann ich dann montieren diese dort in eigenen Variablen, oder, wenn nötig, Verpacken Sie Sie in einem Wörterbuch. Die Nutzung derexec
Befehl möglicherweise nicht angemessen sein, in allen Fällen, aber wenn Sie nur versuchen, Sie zu Daten verarbeitet, es funktioniert gut.(!) Im Fall von verschachtelten Strukturen gespeichert in
*.mat
Dateien, die notwendig ist, um zu überprüfen, ob die Elemente in das Wörterbuch, dasio.loadmat
Ausgänge sind Matlab Strukturen. Zum Beispiel, wenn in MatlabVerwenden Sie dann den code durch mergen in scipy.io.loadmat verschachtelten Strukturen (z.B. Wörterbücher)