Lire les fichiers mat Matlab en Python

Manav Narula 30 janvier 2023
  1. Utilisez le module scipy.io pour lire les fichiers .mat en Python
  2. Utilisez le module NumPy pour lire les fichiers mat en Python
  3. Utilisez le module mat4py pour lire les fichiers mat en Python
  4. Utilisez le module matlab.engine pour lire les fichiers mat en Python
Lire les fichiers mat Matlab en Python

MATLAB est une plate-forme de programmation largement utilisée de nos jours pour le calcul numérique, l’analyse statistique et la génération d’algorithmes. C’est un langage très flexible et nous permet d’intégrer notre travail avec différents langages de programmation comme Python.

L’espace de travail MATLAB enregistre toutes ses variables et son contenu dans un fichier mat. Dans ce tutoriel, nous allons apprendre comment ouvrir et lire des fichiers mat en Python.

Utilisez le module scipy.io pour lire les fichiers .mat en Python

Le module scipy.io possède la fonction loadmat(), qui permet d’ouvrir et de lire les fichiers mat. Le code suivant montre comment utiliser cette fonction.

import scipy.io

mat = scipy.io.loadmat("file.mat")

Notez que cette méthode ne fonctionne pas pour la version MATLAB inférieure à 7.3. Nous pouvons soit sauvegarder le fichier mat dans les versions inférieures en utilisant la commande ci-dessous dans MATLAB pour éviter cela.

save('test.mat', '-v7')

Utilisez le module NumPy pour lire les fichiers mat en Python

Nous avons expliqué précédemment comment nous ne pouvons pas ouvrir les fichiers dans MATLAB 7.3 en utilisant le module scipy.io en Python. Il est à noter que les fichiers de la version 7.3 et supérieure sont des ensembles de données hdf5, ce qui signifie que nous pouvons les ouvrir en utilisant la bibliothèque NumPy. Pour que cette méthode fonctionne, le module h5py doit être installé, ce qui nécessite HDF5 sur votre système.

Le code ci-dessous montre comment lire les fichiers mat en utilisant cette méthode.

import numpy as np
import h5py

f = h5py.File("somefile.mat", "r")
data = f.get("data/variable1")
data = np.array(data)  # For converting to a NumPy array

Utilisez le module mat4py pour lire les fichiers mat en Python

Ce module a des fonctions qui nous permettent d’écrire et de lire des données depuis et vers des fichiers MATLAB.

La fonction loadmat() lit les fichiers MATLAB et les stocke dans des structures Python de base comme une liste ou un dictionnaire et est similaire au loadmat() de scipy.io.

Par example,

from mat4py import loadmat

data = loadmat("example.mat")

Utilisez le module matlab.engine pour lire les fichiers mat en Python

Pour les utilisateurs qui ont déjà MATLAB peuvent utiliser le matlab.engine qui est fourni par MathWorks lui-même. Il a beaucoup de fonctionnalités, qui vont au-delà de la simple lecture et écriture de fichiers .mat.

Le code suivant montre comment lire les fichiers MATLAB à l’aide de cette méthode.

import matlab.engine

eng = matlab.engine.start_matlab()
content = eng.load("example.mat", nargout=1)
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn