Contenu principal

Écrire des données dans des fichiers texte

Exporter des données tabulaires contenues dans des tables, des cell arrays ou des tableaux numériques de l’espace de travail MATLAB® vers des fichiers texte.

Exporter une table vers un fichier texte

Vous pouvez exporter des données tabulaires de l’espace de travail MATLAB® vers un fichier texte à l’aide de la fonction writetable. Créez un exemple de table, écrivez la table dans un fichier texte, puis écrivez la table dans un fichier texte avec des options supplémentaires.

Créez un exemple de table T qui contient les variables Pitch, Shape, Price et Stock.

Pitch = [0.7;0.8;1;1.25;1.5];
Shape = {'Pan';'Round';'Button';'Pan';'Round'};
Price = [10.0;13.59;10.50;12.00;16.69];
Stock = [376;502;465;1091;562];
T = table(Pitch,Shape,Price,Stock)
T=5×4 table
    Pitch      Shape       Price    Stock
    _____    __________    _____    _____

     0.7     {'Pan'   }       10     376 
     0.8     {'Round' }    13.59     502 
       1     {'Button'}     10.5     465 
    1.25     {'Pan'   }       12    1091 
     1.5     {'Round' }    16.69     562 

Exportez la table T vers un fichier texte nommé tabledata.txt. Visualisez le contenu du fichier. Par défaut, writetable écrit des données séparées par des virgules et inclut les noms de variables de la table en tant qu’en-têtes de colonne.

writetable(T,'tabledata.txt');
type tabledata.txt
Pitch,Shape,Price,Stock
0.7,Pan,10,376
0.8,Round,13.59,502
1,Button,10.5,465
1.25,Pan,12,1091
1.5,Round,16.69,562

Créez une table T2 qui comprend les noms de lignes à l’aide de l’argument de la paire nom-valeur RowNames.

rowNames = {'M4';'M5';'M6';'M8';'M10'};
T2 = table(Pitch,Shape,Price,Stock,'RowNames',rowNames)
T2=5×4 table
           Pitch      Shape       Price    Stock
           _____    __________    _____    _____

    M4      0.7     {'Pan'   }       10     376 
    M5      0.8     {'Round' }    13.59     502 
    M6        1     {'Button'}     10.5     465 
    M8     1.25     {'Pan'   }       12    1091 
    M10     1.5     {'Round' }    16.69     562 

Exportez la table T2 vers un fichier texte délimité par des tabulations nommé tabledata2.txt. Utilisez l’argument de la paire nom-valeur Delimiter pour spécifier un délimiteur de tabulations, et l’argument de la paire nom-valeur WriteRowNames pour inclure les noms de ligne. Visualisez le contenu du fichier.

writetable(T2,'tabledata2.txt','Delimiter','\t','WriteRowNames',true);
type tabledata2.txt
Row	Pitch	Shape	Price	Stock
M4	0.7	Pan	10	376
M5	0.8	Round	13.59	502
M6	1	Button	10.5	465
M8	1.25	Pan	12	1091
M10	1.5	Round	16.69	562

Exporter un cell array vers un fichier texte

Vous pouvez exporter un cell array de l’espace de travail MATLAB® vers un fichier texte de l’une des façons suivantes :

  • Utiliser la fonction « writecell » pour exporter le cell array vers un fichier texte.

  • Utiliser fprintf pour exporter le cell array en spécifiant le format des données de sortie.

Créez un exemple de cell array C.

C = {'Atkins',32,77.3,'M';'Cheng',30,99.8,'F';'Lam',31,80.2,'M'}
C = 3×4 cell array
    {'Atkins'}    {[32]}    {[77.3000]}    {'M'}
    {'Cheng' }    {[30]}    {[99.8000]}    {'F'}
    {'Lam'   }    {[31]}    {[80.2000]}    {'M'}

Exportez le cell array à l’aide de writecell.

writecell(C,'data.dat')

Visualisez le contenu du fichier.

type data.dat
Atkins,32,77.3,M
Cheng,30,99.8,F
Lam,31,80.2,M

Sinon, importez le cell array à l’aide de fprintf. Ouvrez un fichier dans lequel vous pouvez écrire nommé celldata.dat. Définissez formatSpec à l’aide des spécificateurs de format pour décrire le schéma des données dans le fichier. Les spécificateurs de format typiques sont notamment '%s' pour un vecteur de caractères, '%d' pour un nombre entier ou '%f' pour un nombre à virgule flottante. Séparez chaque spécificateur de format par un espace pour indiquer un délimitateur d’espace pour le fichier de sortie. Ajoutez un caractère de retour à la ligne à la fin de chaque ligne de données ('\n').

fileID = fopen('celldata.dat','w');
formatSpec = '%s %d %2.1f %s\n';

Déterminez la taille de C et exportez une ligne de données à la fois à l’aide de la fonction fprintf. Fermez ensuite le fichier. fprintf écrit un fichier délimité par des espaces.

[nrows,ncols] = size(C);
for row = 1:nrows
    fprintf(fileID,formatSpec,C{row,:});
end
fclose(fileID);

Visualisez le contenu du fichier.

type celldata.dat
Atkins 32 77.3 M
Cheng 30 99.8 F
Lam 31 80.2 M

Exporter un tableau numérique vers un fichier texte

Vous pouvez exporter un tableau numérique vers un fichier texte à l’aide de writematrix.

Créez un tableau numérique A.

A = magic(5)/10 
A = 5×5

    1.7000    2.4000    0.1000    0.8000    1.5000
    2.3000    0.5000    0.7000    1.4000    1.6000
    0.4000    0.6000    1.3000    2.0000    2.2000
    1.0000    1.2000    1.9000    2.1000    0.3000
    1.1000    1.8000    2.5000    0.2000    0.9000

Écrivez le tableau numérique dans myData.dat et spécifiez le délimitateur en tant que ';'. Ensuite, visualisez le contenu du fichier.

writematrix(A,'myData.dat','Delimiter',';')  
type myData.dat
1.7;2.4;0.1;0.8;1.5
2.3;0.5;0.7;1.4;1.6
0.4;0.6;1.3;2;2.2
1;1.2;1.9;2.1;0.3
1.1;1.8;2.5;0.2;0.9

Voir aussi

| | | | |