whosmat#
- scipy.io.whosmat(file_name, appendmat=True, **kwargs)[Quelle]#
Variablen in einer MATLAB-Datei auflisten.
- Parameter:
- file_namestr
Name der Mat-Datei (die Erweiterung .mat ist nicht erforderlich, wenn appendmat==True). Kann auch ein offenes dateiähnliches Objekt übergeben werden.
- appendmatbool, optional
True, um die Endung .mat an den gegebenen Dateinamen anzuhängen, falls sie noch nicht vorhanden ist. Standard ist True.
- byte_orderstr oder None, optional
Standardmäßig None, was bedeutet, dass die Byte-Reihenfolge aus der Mat-Datei erraten wird. Andernfalls kann es eine der folgenden Optionen sein: (‘native’, ‘=’, ‘little’, ‘<’, ‘BIG’, ‘>’).
- mat_dtypebool, optional
Wenn True, werden Arrays im gleichen dtype zurückgegeben, wie sie in MATLAB geladen würden (anstelle des dtypes, mit dem sie gespeichert wurden).
- squeeze_mebool, optional
Gibt an, ob Einheitsdimensionen verkleinert werden sollen oder nicht.
- chars_as_stringsbool, optional
Gibt an, ob Zeichen-Arrays in String-Arrays konvertiert werden sollen.
- matlab_compatiblebool, optional
Gibt Matrizen zurück, wie sie von MATLAB geladen würden (impliziert squeeze_me=False, chars_as_strings=False, mat_dtype=True, struct_as_record=True).
- struct_as_recordbool, optional
Ob MATLAB-Strukturen als NumPy-Record-Arrays oder als alte NumPy-Arrays mit dtype=object geladen werden sollen. Wenn dieses Flag auf False gesetzt wird, wird das Verhalten von SciPy Version 0.7.x nachgebildet (Rückgabe von NumPy-Objekt-Arrays). Die Standardeinstellung ist True, da dies ein einfacheres Round-Trip-Laden und -Speichern von MATLAB-Dateien ermöglicht.
- Rückgabe:
- variablenListe von Tupeln
Eine Liste von Tupeln, wobei jedes Tupel den Matrixnamen (einen String), seine Form (ein Tupel von ganzen Zahlen) und seine Datenklasse (einen String) enthält. Mögliche Datenklassen sind: int8, uint8, int16, uint16, int32, uint32, int64, uint64, single, double, cell, struct, object, char, sparse, function, opaque, logical, unknown.
Hinweise
Mat-Dateien der Versionen v4 (Level 1.0), v6 und v7 bis 7.2 werden unterstützt.
Sie benötigen eine HDF5-Python-Bibliothek, um Mat-Dateien im MATLAB 7.3-Format zu lesen (z. B. h5py). Da SciPy keine solche bereitstellt, implementieren wir die HDF5 / 7.3-Schnittstelle hier nicht.
Hinzugefügt in Version 0.12.0.
Beispiele
>>> from io import BytesIO >>> import numpy as np >>> from scipy.io import savemat, whosmat
Erstellen Sie einige Arrays und verwenden Sie
savemat, um sie in eineBytesIO-Instanz zu schreiben.>>> a = np.array([[10, 20, 30], [11, 21, 31]], dtype=np.int32) >>> b = np.geomspace(1, 10, 5) >>> f = BytesIO() >>> savemat(f, {'a': a, 'b': b})
Verwenden Sie
whosmat, umfzu inspizieren. Jedes Tupel in der Ausgabeliste gibt den Namen, die Form und den Datentyp des Arrays infan.>>> whosmat(f) [('a', (2, 3), 'int32'), ('b', (1, 5), 'double')]