É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
fprintfpour 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.datAtkins,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.datAtkins 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
writematrix | writecell | writetimetable | fprintf | type | writetable