Contenu principal

Importer des fichiers texte

MATLAB® peut lire et écrire des données numériques et non numériques dans des fichiers texte délimités et formatés, y compris des fichiers .csv et .txt. Les fichiers texte contiennent souvent un mélange de données numériques et textuelles ainsi que des noms de variables et de lignes. Vous pouvez représenter ces données dans MATLAB sous forme de tables, de timetables, de matrices, de cell arrays ou de tableaux de chaînes de caractères.

Importez des données depuis des fichiers texte de manière programmatique ou interactive. L’importation programmatique permet d’utiliser des fonctions d’importation sur mesure et de mieux contrôler comment les données sont importées avec des options d’importation. L’importation interactive permet d’utiliser Import Tool et son interface utilisateur.

Importer des données en tant que tables

Si votre fichier texte contient des données tabulaires, vous pouvez les importer en tant que table. Une table se compose de variables orientées colonnes contenant des lignes de données d’un même type. Chacune des variables d’une table peut contenir un type et une taille de données différents mais elles doivent toutes comporter le même nombre de lignes. Pour plus d’informations sur les tables, consultez Créer des tables et leur affecter des données.

Importez des données tabulaires depuis un fichier texte vers une table en utilisant la fonction readtable avec le nom du fichier. Par exemple, créez une table à partir de l’exemple de fichier airlinesmall.csv.

T = readtable('airlinesmall.csv');

Affichez les cinq premières lignes et colonnes de la table.

T(1:5,1:5)
ans =

  5×5 table

    Year    Month    DayofMonth    DayOfWeek    DepTime 
    ____    _____    __________    _________    ________

    1987     10          21            3        {'642' }
    1987     10          26            1        {'1021'}
    1987     10          23            5        {'2055'}
    1987     10          23            5        {'1332'}
    1987     10          22            4        {'629' }

Importer des données en tant que timetables

Si votre fichier texte contient des données tabulaires où chaque ligne est associée à une heure, vous pouvez les importer en tant que timetable. Comme les tables, les timetables vous permettent de stocker des variables de données tabulaires pouvant comporter différents types et tailles de données, tant qu’elles comportent le même nombre de lignes. Une timetable propose en outre des fonctions temporelles permettant d’aligner et de combiner des timetables et d’effectuer des calculs sur des données horodatées dans une ou plusieurs timetables. Pour plus d’informations sur les timetables, consultez Create Timetables.

Importez des données tabulaires depuis un fichier texte vers une timetable avec la fonction readtimetable. Par exemple, créez une timetable à partir de l’exemple de fichier outages.csv.

TT = readtimetable('outages.csv');

Affichez les cinq premières lignes et colonnes de la timetable.

TT(1:5,1:5)
ans =

  5×5 timetable

       OutageTime          Region         Loss     Customers     RestorationTime            Cause       
    ________________    _____________    ______    __________    ________________    ___________________

    2002-02-01 12:18    {'SouthWest'}    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
    2003-01-23 00:49    {'SouthEast'}    530.14    2.1204e+05                 NaT    {'winter storm'   }
    2003-02-07 21:15    {'SouthEast'}     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
    2004-04-06 05:44    {'West'     }    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
    2002-03-16 06:18    {'MidWest'  }    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }

Importer des données en tant que matrices

Si votre fichier texte contient des données uniformes (toutes du même type), vous pouvez les importer en tant que matrice. Importer vos données dans une matrice vous permet de travailler avec un tableau formaté de façon minimale.

Importez des données tabulaires depuis un fichier texte vers une matrice avec la fonction readmatrix. Par exemple, importez les données de l’exemple de fichier basic_matrix.txt dans une matrice.

M = readmatrix('basic_matrix.txt')
M = 5×4

     6     8     3     1
     5     4     7     3
     1     6     7    10
     4     2     8     2
     2     7     5     9

Importer des données en tant que cell arrays

Un cell array est un type de données comportant des conteneurs de données indexées appelés cellules. Chaque cellule peut contenir n’importe quel type de données. Les cell arrays contiennent généralement des listes de texte, des combinaisons de texte et de nombres ou des tableaux numériques de tailles différentes.

Vous pouvez importer des données non uniformes (chaque colonne contenant un type différent) depuis un fichier texte vers un cell array avec readcell. Par exemple, affichez le contenu de basic_cell.txt, puis importez les données mixtes dans un cell array.

type basic_cell.txt
1,2,3
hello,world,NaN
10-Oct-2018 10:27:56,1,
C = readcell('basic_cell.txt')
C=3×3 cell array
    {[                   1]}    {[    2]}    {[        3]}
    {'hello'               }    {'world'}    {[      NaN]}
    {[10-Oct-2018 10:27:56]}    {[    1]}    {1x1 missing}
Vous pouvez également importer des données formatées depuis un fichier texte vers un cell array avec la fonction textscan et un workflow d’E/S de bas niveau. Les workflows d’E/S de bas niveau offrent le meilleur contrôle sur l’importation de données. Un tel degré de contrôle n’est pas nécessaire pour la plupart des workflows. Pour plus d’informations sur l’importation de données texte avec des E/S de bas niveau, consultez Import Text Data Files with Low-Level I/O.

Importer des données en tant que tableaux de chaînes de caractères

Si votre fichier texte contient des lignes de texte brut, vous pouvez représenter celui-ci dans MATLAB sous forme de tableau de chaînes de caractères. Les tableaux de chaînes de caractères stockent des fragments de texte et proposent un ensemble de fonctions permettant de traiter les textes comme des données. Par exemple, vous pouvez indexer, redimensionner et concaténer des tableaux de chaînes de caractères comme tout autre type de tableau.

Importez des lignes de texte brut depuis un fichier texte vers des tableaux de chaînes de caractères avec readlines. Par exemple, créez un tableau de chaînes de caractères à partir de l’exemple de fichier texte badpoem.txt. Comme le fichier texte contient quatre lignes de texte brut, la fonction crée un tableau de chaînes de caractères de dimension 4 x 1.

lines = readlines("badpoem.txt")
lines = 4x1 string
    "Oranges and lemons,"
    "Pineapples and tea."
    "Orangutans and monkeys,"
    "Dragonflys or fleas."

Importer des données avec des options d’importation pour davantage de contrôle

Importer des données tabulaires demande parfois davantage de contrôle sur le processus d’importation. Pour personnaliser le processus d’importation, vous pouvez créer un objet d’options d’importation. L’objet a des propriétés que vous pouvez ajuster en fonction de vos besoins d’importation. Par exemple, vous pouvez modifier les types de données des variables ou importer uniquement un sous-ensemble de variables. Pour plus d’informations sur les options d’importation, consultez detectImportOptions.

Importer des données de manière interactive

Si vous préférez passer par l’interface utilisateur, vous pouvez importer des données de manière interactive dans une table ou un autre type de données avec Import Tool.

Pour ouvrir Import Tool, accédez à l’onglet Home et dans la section Variable, cliquez sur Import Data . Vous pouvez également faire un clic droit sur le nom du fichier dans le panneau « Fichiers » et sélectionner Import Data. Sélectionnez ensuite le fichier à importer. Depuis la fenêtre Import Tool, définissez les options d’importation puis cliquez sur Import Selection pour importer les données dans MATLAB. Pour plus d’informations, consultez Read Text File Data Using Import Tool.

grades.txt is a sample file used to portray the Import Tool.

Voir aussi

| | | | | | | |

Rubriques