Main Content

Escribir datos en archivos de texto

Exporte los datos tabulares contenidos en tablas, arreglos de celdas o arreglos numéricos desde el espacio de trabajo de MATLAB® a archivos de texto.

Exportar tabla a un archivo de texto

Puede exportar los datos tabulares del espacio de trabajo de MATLAB® a un archivo de texto utilizando la función writetable. Cree una tabla de muestra, escriba la tabla en un archivo de texto y después escriba la tabla en un archivo de texto con opciones adicionales.

Cree una tabla de muestra, T, que contenga las variables Pitch, Shape, Price y 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 

Exporte la tabla, T, a un archivo de texto llamado tabledata.txt. Visualice el contenido del archivo. De forma predeterminada, writetable escribe datos separados por comas e incluye los nombres de las variables de la tabla como encabezados de columna.

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

Cree una tabla T2 que incluya los nombres de las filas usando el argumento de par nombre-valor 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 

Exporte T2 a un archivo de texto delimitado por tabulaciones llamado tabledata2.txt. Utilice el argumento de par nombre-valor Delimiter para especificar un delimitador de tabulación y el argumento de par nombre-valor WriteRowNames para incluir los nombres de las filas. Visualice el contenido del archivo.

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

Exportar un arreglo de celdas a un archivo de texto

Puede exportar un arreglo de celdas del espacio de trabajo de MATLAB® a un archivo de texto de una de estas formas:

  • Use la función writecell para exportar el arreglo de celdas a un archivo de texto.

  • Use fprintf para exportar el arreglo de celdas especificando el formato de los datos de salida.

Cree un arreglo de celdas de muestra 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'}

Exporte el arreglo de celdas usando writecell.

writecell(C,'data.dat')

Visualice el contenido del archivo.

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

De forma alternativa, importe el arreglo de celdas usando fprintf. Abra un archivo en el que pueda escribir con el nombre celldata.dat. Defina formatSpec usando los especificadores de formato para describir el patrón de los datos del archivo. Los especificadores de formato habituales son '%s' para un vector de caracteres, '%d' para un número entero o '%f' para un número de punto flotante. Separe cada especificador de formato con un espacio para indicar un delimitador de espacio para el archivo de salida. Incluya un carácter de nueva línea al final de cada fila de datos ('\n').

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

Determine el tamaño de C y exporte las filas de datos una a una usando la función fprintf. Después, cierre el archivo. fprintf escribe un archivo delimitado por espacios.

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

Visualice el contenido del archivo.

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

Exportar un arreglo numérico a un archivo de texto

Puede exportar un arreglo numérico a un archivo de texto usando writematrix.

Cree un arreglo numérico 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

Escriba el arreglo numérico en myData.dat y especifique el delimitador como ';'. Visualice el contenido del archivo.

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

Consulte también

| | | | |