Contenido principal

writetable

Escribir una tabla en un archivo

Descripción

writetable(T) escribe la tabla T en un archivo de texto delimitado por comas. El nombre de archivo es el nombre de variable del área de trabajo de la tabla, seguido de la extensión .txt. Si writetable no puede construir el nombre de archivo a partir del nombre de la tabla de salida, escribe en el archivo table.txt.

Para archivos de texto y hojas de cálculo, cada columna de cada variable en T se convierte en una columna en el archivo de salida. Los nombres de las variables de T se convierten en encabezados de columna en la primera línea del archivo.

Para los archivos XML, cada columna de T se convierte en un nodo XML en el archivo de salida. Los nombres de las variables de T se convierten en los nombres de los nodos de elementos en el archivo XML de salida.

ejemplo

writetable(T,filename) escribe en un archivo con el nombre y la extensión especificados por filename.

writetable determina el formato de archivo a partir de la extensión especificada. La extensión debe ser una de las siguientes:

  • .txt, .dat, o .csv para los archivos de texto delimitado

  • .xls, .xlsm o .xlsx para los archivos de hoja de cálculo de Excel®

  • .xlsb para hojas de cálculo de Excel compatibles con sistemas con Excel para Windows®

  • .xml para archivos de lenguaje de marcado extensible (XML)

writetable(___,Name,Value) escribe una tabla en un archivo con opciones adicionales especificado por uno o más argumentos de par Name,Value y puede incluir cualquiera de los argumentos de entrada de las sintaxis anteriores.

Por ejemplo, puede especificar si desea escribir los nombres de las variables como encabezados de columna en el archivo de salida.

ejemplo

Ejemplos

contraer todo

Cree una tabla.

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
    Var1      Var2       Var3     Var4 
    ____    ________    ______    _____

     M      45    45    {'NY'}    true 
     F      41    32    {'CA'}    false
     M      40    34    {'MA'}    false

Escriba la tabla en un archivo de texto delimitado por comas y muestre el contenido del archivo.

writetable(T)

writetable genera como resultado un archivo de texto llamado T.txt.

type 'T.txt'
Var1,Var2_1,Var2_2,Var3,Var4
M,45,45,NY,1
F,41,32,CA,0
M,40,34,MA,0

writetable añade un sufijo único al nombre de la variable, Var2, encima de las dos columnas de datos correspondientes.

Cree una tabla.

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
    Var1      Var2       Var3     Var4 
    ____    ________    ______    _____

     M      45    45    {'NY'}    true 
     F      41    32    {'CA'}    false
     M      40    34    {'MA'}    false

Escriba la tabla en un archivo de texto delimitado por espacios llamado myData.txt y muestre el contenido del archivo.

writetable(T,'myData.txt','Delimiter',' ')  
type 'myData.txt'
Var1 Var2_1 Var2_2 Var3 Var4
M 45 45 NY 1
F 41 32 CA 0
M 40 34 MA 0

writetable añade un sufijo único al nombre de la variable, Var2, encima de las dos columnas de datos correspondientes.

Cree una tabla.

LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

T = table(Age,Height,Weight,BloodPressure,...
    'RowNames',LastName)
T=5×4 table
                Age    Height    Weight    BloodPressure
                ___    ______    ______    _____________

    Smith       38       71       176       124     93  
    Johnson     43       69       163       109     77  
    Williams    38       64       131       125     83  
    Jones       40       67       133       117     75  
    Brown       49       64       119       122     80  

Escriba la tabla, T, en un archivo de texto delimitado por comas, llamado myPatientData.dat, y muestre el contenido del archivo.

writetable(T,'myPatientData.dat','WriteRowNames',true)  
type 'myPatientData.dat'
Row,Age,Height,Weight,BloodPressure_1,BloodPressure_2
Smith,38,71,176,124,93
Johnson,43,69,163,109,77
Williams,38,64,131,125,83
Jones,40,67,133,117,75
Brown,49,64,119,122,80

La primera columna, que contiene los nombres de las filas, tiene el encabezado de columna, Row. Este es el nombre de la primera dimensión de la tabla de la propiedad T.Properties.DimensionNames.

Convierta las fechas en inglés de una tabla a alemán y escriba la tabla en un archivo.

Cree una tabla que contenga un arreglo datetime con fechas en inglés. Cree vectores columna de datos numéricos para acompañar las fechas.

D = datetime({'01-Jan-2014';'01-Feb-2014';'01-Mar-2014'});
D.Format = 'dd MMMM yyyy';
X1 = [20.2;21.6;20.7];
X2 = [100.5;102.7;99.8];
T = table(D,X1,X2)
T = 

           D             X1      X2  
    ________________    ____    _____

    01 January 2014     20.2    100.5
    01 February 2014    21.6    102.7
    01 March 2014       20.7     99.8

Escriba la tabla en un archivo de texto. Especifique el alemán como idioma de las fechas utilizando el argumento de par nombre-valor DateLocale y muestre las fechas en el archivo de texto.

writetable(T,'myfile.txt','DateLocale','de_DE');
type myfile.txt
D,X1,X2
01 Januar 2014,20.2,100.5
01 Februar 2014,21.6,102.7
01 März 2014,20.7,99.8

Cuando sus datos contengan caracteres en otros idiomas o idiomas que no sean ASCII, utilice el parámetro de codificación para asegurarse de que el archivo se escriba correctamente. Primero, cargue la tabla proporcionada en el área de trabajo. A continuación, escriba la tabla en un archivo usando la codificación predeterminada. Finalmente, escriba la tabla utilizando la codificación 'UTF-8' y examine el resultado.

Cargue Table_Japanese_Characters.mat, que contiene una tabla T. A continuación, se muestra una vista previa de la tabla. Tenga en cuenta que la tabla contiene dos columnas con caracteres japoneses.

load('Table_Japanese_Characters.mat')

Escriba la tabla en un archivo. La función writetable utiliza la codificación predeterminada de su sistema para escribir archivos. Los resultados pueden variar según la configuración de su sistema. Para examinar el archivo resultante, vuelva a leer la tabla en el área de trabajo con la función readtable. Tenga en cuenta que writetable no ha escrito correctamente las columnas (1 y 3) que contenían caracteres en otros idiomas.

writetable(T,'myTable.txt')
myTable = readtable('myTable.txt')
myTable=9×3 table
      A        B          C   
    _____    ______    _______

    ''     458.98    ''  
    ''     530.14    ''  
    ''      289.4    ''  
    ''      434.81    ''
    ''    186.44    '' 
    ''           0    ''   
    ''      231.29    ''
    ''      311.86    ''
    ''     239.93    ''   

Si su tabla contiene caracteres en otros idiomas o idiomas que no son ASCII, debe utilizar el parámetro 'Encoding' para asegurarse de que sus datos se escriban correctamente. Establezca 'Encoding' en 'UTF-8', que admite una amplia gama de caracteres en otros idiomas e idiomas que no son ASCII. Para examinar el archivo resultante, vuelva a leer la tabla en el área de trabajo con la función readtable. Con el parámetro de codificación correcto, la función writetable puede escribir los datos correctamente.

writetable(T,'myTable_UTF8.txt','Encoding','UTF-8')
myTable_UTF8 = readtable('myTable_UTF8.txt','Encoding','UTF-8')
myTable_UTF8=9×3 table
       A         B            C     
    _______    ______    ___________

    '南西'     458.98    '冬の嵐'    
    '南東'     530.14    '冬の嵐'    
    '南東'      289.4    '冬の嵐'    
    '西'       434.81    '機器の故障' 
    '中西部'    186.44    '深刻な嵐'  
    '西'            0    '攻撃'      
    '西'       231.29    '機器の故障' 
    '西'       311.86    '機器の故障' 
    '北東'     239.93    '火災'      

Cree una tabla.

T = table(['M';'F';'M'],[45;41;36],...
    {'New York, NY';'San Diego, CA';'Boston, MA'},[true;false;false])
T=3×4 table
    Var1    Var2          Var3           Var4 
    ____    ____    _________________    _____

     M       45     {'New York, NY' }    true 
     F       41     {'San Diego, CA'}    false
     M       36     {'Boston, MA'   }    false

Escriba la tabla en un archivo de texto separado por comas llamado myData.csv y visualice el contenido del archivo. Utilice el argumento de par nombre-valor 'QuoteStrings' para asegurarse de que las comas de la tercera columna no se traten como delimitadores.

writetable(T,'myData.csv','Delimiter',',','QuoteStrings','all')
type 'myData.csv'
Var1,Var2,Var3,Var4
"M",45,"New York, NY",1
"F",41,"San Diego, CA",0
"M",36,"Boston, MA",0

Cree una tabla.

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
    Var1      Var2       Var3     Var4 
    ____    ________    ______    _____

     M      45    45    {'NY'}    true 
     F      41    32    {'CA'}    false
     M      40    34    {'MA'}    false

Escriba la tabla en una hoja de cálculo llamada myData.xls. Incluya los datos de la primera hoja en la región de 5 por 5 con esquinas en B2 y F6. Puede cambiar la hoja de cálculo en la que desea escribir especificando el índice correspondiente a la hoja de cálculo.

writetable(T,'myData.xls','Sheet',1,'Range','B2:F6')

Excel® rellena la fila de la hoja de cálculo de B6 a F6 con #N/A, ya que el rango especificado es mayor que el tamaño de la tabla de entrada T.

Puede escribir datos tabulares que contengan nombres de variables con cualquier carácter, incluidos espacios y caracteres no ASCII. Cree una tabla con nombres de variables arbitrarios y escríbala en un archivo de texto. A continuación, vuelva a leer los datos tabulares conservando los nombres de variables originales.

Cree una tabla que contenga tres variables con nombres de variables arbitrarios. El primer y tercer nombre de variable contienen espacios y caracteres no ASCII.

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
varNames = {'Last Name','Age','Smoker (1 or 0)'};
T = table(LastName,Age,Smoker,'VariableNames',varNames)
T=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38          true      
    {'Johnson'}    43          false     
    {'Li'     }    38          true      
    {'Diaz'   }    40          false     
    {'Brown'  }    49          true      

Escriba los datos en el archivo 'sampletable.txt'.

writetable(T,'sampletable.txt')

Vuelva a leer los datos tabulares con readtable. De forma predeterminada, MATLAB® convierte cualquier nombre de variable que incluya espacios y caracteres no ASCII en identificadores válidos de MATLAB®. Por ejemplo, MATLAB® convierte los nombres de variables 'Last Name' a 'LastName' y 'Smoker (1 or 0)' a 'Smoker_1or0_'. Para leer los datos tabulares conservando los nombres de las variables, establezca el parámetro 'VariableNamingRule' en preserve.

T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38            1       
    {'Johnson'}    43            0       
    {'Li'     }    38            1       
    {'Diaz'   }    40            0       
    {'Brown'  }    49            1       

Añada datos como una nueva fila al final de una tabla con datos existentes.

Cree una tabla.

InsectSpecies = {'Monarch Butterfly';'Seven-spot Ladybird';'Orchid Mantis';...
    'American Bumblebee';'Blue Dasher Dragonfly'};
InsectOrder = {'Lepidoptera';'Coleoptera';'Mantodea';'Hymenoptera';'Odonata'};
InsectFamily = {'Nymphalidae';'Coccinellidae';'Hymenopodidae';...
    'Apidae';'Libellulidae'};
PredatoryInsect = logical([0;1;1;0;1]); 

T = table(InsectSpecies,InsectOrder,InsectFamily,PredatoryInsect)
T=5×4 table
          InsectSpecies            InsectOrder        InsectFamily       PredatoryInsect
    _________________________    _______________    _________________    _______________

    {'Monarch Butterfly'    }    {'Lepidoptera'}    {'Nymphalidae'  }         false     
    {'Seven-spot Ladybird'  }    {'Coleoptera' }    {'Coccinellidae'}         true      
    {'Orchid Mantis'        }    {'Mantodea'   }    {'Hymenopodidae'}         true      
    {'American Bumblebee'   }    {'Hymenoptera'}    {'Apidae'       }         false     
    {'Blue Dasher Dragonfly'}    {'Odonata'    }    {'Libellulidae' }         true      

Escriba la tabla T en un archivo de texto llamado InsectCollection.txt.

writetable(T,'InsectCollection.txt','WriteRowNames',true) 

Cree nuevos datos en forma de tabla para añadirlos a la tabla existente.

newInsect = table({'Red-banded leafhopper'},{'Hemiptera'},{'Cicadellidae'},logical([0]))
newInsect=1×4 table
              Var1                   Var2               Var3          Var4 
    _________________________    _____________    ________________    _____

    {'Red-banded leafhopper'}    {'Hemiptera'}    {'Cicadellidae'}    false

Añada newInsect a InsectCollection.txt usando el argumento de par nombre-valor 'WriteMode','Append'.

writetable(newInsect,'InsectCollection.txt','WriteMode','Append',...
    'WriteVariableNames',false,'WriteRowNames',true)  

Vuelva a leer la tabla en el área de trabajo.

readtable('InsectCollection.txt')
ans=6×4 table
          InsectSpecies            InsectOrder        InsectFamily       PredatoryInsect
    _________________________    _______________    _________________    _______________

    {'Monarch Butterfly'    }    {'Lepidoptera'}    {'Nymphalidae'  }           0       
    {'Seven-spot Ladybird'  }    {'Coleoptera' }    {'Coccinellidae'}           1       
    {'Orchid Mantis'        }    {'Mantodea'   }    {'Hymenopodidae'}           1       
    {'American Bumblebee'   }    {'Hymenoptera'}    {'Apidae'       }           0       
    {'Blue Dasher Dragonfly'}    {'Odonata'    }    {'Libellulidae' }           1       
    {'Red-banded leafhopper'}    {'Hemiptera'  }    {'Cicadellidae' }           0       

Conserve las anchuras de columna existentes de un archivo de hoja de cálculo al añadir datos al final del archivo.

Cree variables de área de trabajo con datos de texto y, a continuación, cree una tabla como contenedor para las variables.

state = {'Massachussetts';'California';'Minnesota';'Virginia'};
stateFlower = {'Trailing arbutus';'Golden Poppy';'Pink and White Lady''s Slipper';'Flowering dogwood'};
stateBird = {'Black-capped chickadee';'California Valley Quail';'Common Loon';'Cardinal'};
data = table(state,stateFlower,stateBird);

Escriba la tabla en un archivo de hoja de cálculo llamado states_funfacts.xlsx.

writetable(data,'state_funfacts.xlsx')

Cree otra tabla de datos de texto.

t = table({'Maryland';'New York'},{'Black-eyed Susan';'Rose'},{'Baltimore oriole';'Eastern bluebird'});

Añada la tabla al archivo de hoja de cálculo existente. Especifique 'AutoFitWidth' como false para conservar las anchuras de columna existentes de la hoja de cálculo.

writetable(t,'state_funfacts.xlsx',"WriteMode","append","AutoFitWidth",false);

states_original.PNG

Si especifica 'AutoFitWidth' como true en lugar de false, writetable ajustará las anchuras de las columnas de la hoja de cálculo para que se ajusten a los datos que se escribirán en lugar de conservar las anchuras de las columnas originales.

states_appended.PNG

Edite filas dentro de un archivo de hoja de cálculo existente sin conservar el formato de las celdas de la hoja de cálculo.

El archivo de hoja de cálculo student_grades.xlsx contiene celdas formateadas. Todas las celdas tienen rellenado de color y bordes, y las celdas del encabezado tienen fuente negrita.

Cree una tabla con texto y datos numéricos.

Student = {'Mary';'John'};
Grade = [95;87];
t = table(Student,Grade)
t=2×2 table
    Student     Grade
    ________    _____

    {'Mary'}     95  
    {'John'}     87  

Actualice el archivo de hoja de cálculo existente con la tabla de datos de entrada. Especifique 'PreserveFormat' como false para ignorar el formato de las celdas existente del archivo de hoja de cálculo. Al hacer esto, student_grades.xlsx se modifica de la siguiente manera.

writetable(t,'student_grades.xlsx','PreserveFormat',false);

Si especifica 'PreserveFormat' como true en lugar de false cuando escriba los datos en el archivo de hoja de cálculo existente, writetable conservará el formato de las celdas existente de la hoja de cálculo.

writetable(t,'student_grades.xlsx','PreserveFormat',true);

Cree una tabla de datos y escríbala en un archivo XML. Personalice cómo writetable escribe los datos de la tabla en el archivo XML especificando argumentos de par nombre-valor adicionales.

Cree una tabla de datos.

InsectSpecies = {'Monarch Butterfly';'Seven-spot Ladybird';'Orchid Mantis'; ...
    'American Bumblebee';'Blue Dasher Dragonfly'};
InsectOrder = {'Lepidoptera';'Coleoptera';'Mantodea';'Hymenoptera';'Odonata'};
InsectFamily = {'Nymphalidae';'Coccinellidae';'Hymenopodidae'; ...
    'Apidae';'Libellulidae'};
PredatoryInsect = logical([0;1;1;0;1]); 

T = table(InsectOrder,InsectFamily,PredatoryInsect);
T.Properties.RowNames = InsectSpecies;
head(T,5)
                               InsectOrder        InsectFamily       PredatoryInsect
                             _______________    _________________    _______________

    Monarch Butterfly        {'Lepidoptera'}    {'Nymphalidae'  }         false     
    Seven-spot Ladybird      {'Coleoptera' }    {'Coccinellidae'}         true      
    Orchid Mantis            {'Mantodea'   }    {'Hymenopodidae'}         true      
    American Bumblebee       {'Hymenoptera'}    {'Apidae'       }         false     
    Blue Dasher Dragonfly    {'Odonata'    }    {'Libellulidae' }         true      

Escriba la tabla T en un archivo XML llamado InsectCollection.xml. Especifique 'WriteRowNames' como true para escribir los nombres de las filas de la tabla. Los nombres de fila aparecen como campos que pertenecen al nodo del elemento Row en el archivo XML de salida.

Personalice los nombres de los nodos en el archivo XML especificando 'Insect' como el valor de 'RowNodeName'.

writetable(T,'InsectCollection.xml',"WriteRowNames",false,"RowNodeName","Insect")

Muestre el contenido del archivo InsectCollection.xml.

type InsectCollection.xml
<?xml version="1.0" encoding="UTF-8"?>
<table>
    <Insect>
        <InsectOrder>Lepidoptera</InsectOrder>
        <InsectFamily>Nymphalidae</InsectFamily>
        <PredatoryInsect>false</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Coleoptera</InsectOrder>
        <InsectFamily>Coccinellidae</InsectFamily>
        <PredatoryInsect>true</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Mantodea</InsectOrder>
        <InsectFamily>Hymenopodidae</InsectFamily>
        <PredatoryInsect>true</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Hymenoptera</InsectOrder>
        <InsectFamily>Apidae</InsectFamily>
        <PredatoryInsect>false</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Odonata</InsectOrder>
        <InsectFamily>Libellulidae</InsectFamily>
        <PredatoryInsect>true</PredatoryInsect>
    </Insect>
</table>

Si no especifica WriteRowNames como true, writetable omite la escritura de los nombres de fila de la tabla en el archivo.

output.PNG

Argumentos de entrada

contraer todo

Datos de entrada, especificados como una tabla.

Nombre de archivo, especificado como vector de caracteres o escalar de cadena.

En función de la ubicación en la que está escribiendo, filename puede tomar una de estas formas.

Ubicación

Forma

Carpeta actual

Para escribir en la carpeta actual, especifique el nombre del archivo en filename.

Ejemplo: 'myTextFile.csv'

Otras carpetas

Para escribir en una carpeta distinta a la carpeta actual, especifique el nombre de la ruta completa o relativa en filename.

Ejemplo: 'C:\myFolder\myTextFile.csv'

Ejemplo: 'myFolder\myExcelFile.xlsx'

Ubicación remota

Para guardar archivos en una ubicación remota, filename debe contener la ruta completa del archivo, especificada como un localizador uniforme de recursos (URL) con el formato:

scheme_name://path_to_file/my_file.ext

Según la ubicación remota, scheme_name puede ser uno de los valores de esta tabla.

Ubicación remotascheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

Para obtener más información, consulte Trabajar con datos remotos.

Ejemplo: 's3://bucketname/path_to_file/my_file.xlsx'

  • Si filename incluye la extensión del archivo, la función de escritura determina el formato del archivo desde la extensión. De lo contrario, la función de escritura crea un archivo de texto separado por comas y añade la extensión .txt. De manera alternativa, puede especificar filename sin la extensión del archivo y, después, incluir los argumentos de par nombre-valor 'FileType' para indicar el tipo de archivo.

  • Si filename no existe, la función de escritura crea el archivo.

  • Si filename es el nombre de un archivo de texto existente, la función de escritura sobrescribe el archivo.

  • Si filename es el nombre de un archivo de hoja de cálculo existente, la función de escritura escribe los datos en la ubicación especificada, pero no sobrescribe ningún valor fuera del intervalo de los datos de entrada.

Tipos de datos: char | string

Argumentos de par nombre-valor

expandir todo

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: 'WriteVariableNames',false indica que los nombres de variable no deben incluirse como la primera fila del archivo de salida.

Todos los tipos de archivos admitidos

expandir todo

Indicador para escribir nombres de filas, especificado como el par separado por comas que consta de 'WriteRowNames' y false o true.

Indicador

Comportamiento

false

writetable no incluye los nombres de filas de T en la salida. Se trata del comportamiento predeterminado.

true

Para archivos de texto y hojas de cálculo, writetable incluye los nombres de fila de T como la primera columna de la salida.

Si los indicadores lógicos 'WriteVariableNames' y 'WriteRowNames' son true, writetable utiliza el nombre de la primera dimensión de la propiedad T.Properties.DimensionNames como encabezado de columna para la primera columna de la salida.

Para los archivos XML, writetable escribe los nombres de fila de la tabla de entrada como el primer nodo de atributo en cada uno de los nodos de fila y utiliza el nombre de la primera dimensión de la propiedad T.Properties.DimensionNames como el nombre del nodo de atributo.

Configuración local para escribir fechas, especificada como el par separado por comas que consta de 'DateLocale' y un vector de caracteres o un escalar de cadena. Cuando escriba valores datetime en el archivo, use DateLocale para especificar la configuración local en la que writetable debería escribir nombres de meses y días de la semana y abreviaturas. El vector de caracteres o cadena toma la forma xx_YY, donde xx es un código ISO 639-1 de dos letras minúsculas que indica un idioma e YY es un código ISO 3166-1 alpha-2 de dos letras mayúsculas que indica un país. Para ver una lista de valores habituales para la configuración local, consulte el argumento de par nombre-valor Locale para la función datetime.

La función de escritura ignora el valor del parámetro 'DateLocale' siempre que las fechas se puedan escribir como fechas con formato de Excel.

Ejemplo: 'DateLocale','ja_JP'

Tipos de datos: char | string

Tipo de archivo, especificado como el par separado por comas que consta de 'FileType' y un vector de caracteres o cadena que contiene 'text', 'spreadsheet' o 'xml'.

El par nombre-valor 'FileType' debe usarse con el argumento de entrada filename. No es necesario especificar el argumento de par nombre-valor 'FileType' si el argumento de entrada filename incluye una extensión de archivo estándar. La función de escritura reconoce las siguientes extensiones de archivo estándar:

  • .txt, .dat, o .csv para los archivos de texto delimitado

  • .xls, .xlsm o .xlsx para los archivos de hoja de cálculo de Excel

  • .xlsb para hojas de cálculo de Excel compatibles con sistemas con Excel para Windows

  • .xml para archivos XML.

Ejemplo: 'FileType','spreadsheet'

Tipos de datos: char | string

Archivos de texto y de hoja de cálculo

expandir todo

Indicador para escribir nombres de variables como encabezados de columna, especificados como el par separado por comas que consta de 'WriteVariableNames' y true o false.

Indicador

Comportamiento

true

La función de escritura incluye nombres de variables como encabezados de columna de la salida. Se trata del comportamiento predeterminado.

false

La función de escritura no incluye nombres de variables en la salida.

Modo de escritura, especificado como el par separado por comas que consta de 'WriteMode' y un vector de caracteres o un escalar de cadena. Seleccione un modo de escritura en función del tipo de archivo.

Tipo de archivo

Modo de escritura

Archivos de texto

  • 'overwrite' (valor predeterminado): sobrescribe el archivo.

  • 'append': añade datos al archivo.

Si el archivo que ha especificado no existe, la función de escritura crea un archivo nuevo y escribe datos en él.

Archivos de hoja de cálculo

  • 'inplace' (valor predeterminado): actualiza únicamente el intervalo ocupado por los datos de entrada. La función de escritura no cambia ningún dato fuera del intervalo ocupado por los datos de entrada.

    • Si no especifica una hoja, la función de escritura escribe en la primera hoja.

  • 'overwritesheet': borra la hoja especificada y escribe los datos de entrada en la hoja borrada.

    • Si no especifica una hoja, la función de escritura borra la primera hoja y escribe los datos de entrada en ella.

  • 'append': la función de escritura añade los datos de entrada a la parte inferior del intervalo ocupado de la hoja especificada.

    • Si no especifica una hoja, la función de escritura añade los datos de entrada a la parte inferior del intervalo ocupado de la primera hoja.

  • 'replacefile': elimina el resto de hojas del archivo y, después, borra y escribe los datos de entrada en la hoja especificada.

    • Si no especifica una hoja, la función de escritura elimina el resto de hojas del archivo y, después, escribe los datos de entrada en la primera hoja.

    • Si el archivo que ha especificado no existe, la función de escritura crea un archivo nuevo y escribe los datos de entrada en la primera hoja.

  • Cuando WriteVariableNames se establece en true, la función de escritura no admite el modo de escritura 'append'.

  • Para archivos de hoja de cálculo:

    • Cuando el modo de escritura es 'append', la función de escritura no admite el parámetro Range.

    • Si el archivo especificado no existe, la función de escritura realiza las mismas acciones que 'replacefile'.

Ejemplo: 'WriteMode','append'

Tipos de datos: char | string

Solo texto y XML

expandir todo

Esquema de codificación de caracteres asociado al archivo, especificado como el par separado por comas que consta de 'Encoding' y 'system' o un nombre de esquema de codificación de caracteres estándar. Cuando no se especifica ninguna codificación, la función de escritura utiliza UTF-8 para escribir en el archivo.

Ejemplo: 'Encoding','UTF-8' utiliza UTF-8 como codificación.

Tipos de datos: char | string

Solo archivos de texto

expandir todo

Carácter delimitador de campo, especificado como el par separado por comas que consta de 'Delimiter' y un vector de caracteres o escalar de cadena que contiene uno de los siguientes especificadores:

Especificador

Delimitador de campo

','

'comma'

Coma. Se trata del comportamiento predeterminado.

' '

'space'

Espacio

'\t'

'tab'

Tabulador

';'

'semi'

Punto y coma

'|'

'bar'

Barra vertical

Puede utilizar el par nombre-valor 'Delimiter' solo para archivos de texto delimitado.

Ejemplo: 'Delimiter','space'

Tipos de datos: char | string

Indicador para escribir texto entrecomillado, especificado como "minimal", "all" o "none".

  • Si QuoteStrings es "minimal", la función encierra cualquier variable que contenga el delimitador, la nueva línea o el carácter de comillas dobles en caracteres de comillas dobles.

  • Si QuoteStrings es "all", la función encierra todas las variables de texto, categóricas, de fecha/hora y duración en caracteres de comillas dobles.

  • Si QuoteStrings es "none", la función no encierra variables en caracteres de comillas dobles.

Puede usar el argumento nombre-valor QuoteStrings solo con archivos de texto delimitado.

Solo archivos de hoja de cálculo

expandir todo

Hoja de cálculo en la que desea escribir, especificada como el par separado por comas que consta de 'Sheet' y un vector de caracteres o un escalar de cadena que contiene el nombre de la hoja de cálculo o un entero positivo que indica el índice de la hoja de cálculo. El nombre de la hoja de cálculo no puede contener dos puntos (:). Para determinar los nombres de las hojas en un archivo de hoja de cálculo, utilice sheets = sheetnames(filename). Para obtener más información, consulte sheetnames.

Especifique la hoja de cálculo en la que desea escribir por nombre o índice:

  • por nombre: si el nombre de hoja de cálculo especificado no existe en el archivo, la función de escritura añade una nueva hoja al final de la colección de hojas de cálculo.

  • por índice: si el índice de la hoja especificada es un índice mayor que el número de hojas de cálculo, la función de escritura anexa hojas vacías hasta que el número de hojas de cálculo del libro es igual al índice de hojas. La función de escritura también genera una advertencia que indica que se ha añadido una nueva hoja de cálculo.

Puede utilizar el par nombre-valor 'Sheet' solo con archivos de hoja de cálculo.

Ejemplo: 'Sheet',2

Ejemplo: 'Sheet', 'MySheetName'

Tipos de datos: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Parte rectangular de la hoja de cálculo en la que desea escribir, especificada como el par separado por comas que consta de 'Range' y un vector de caracteres o un escalar de cadena con uno de los siguientes formatos:

Formato del valor de Range Descripción
'Corner1'

Corner1 especifica la primera celda de la región en la que se desea escribir. La función de escritura escribe los datos empezando por esta celda.

Ejemplo: 'Range','D2'

'Corner1:Corner2'

Corner1 y Corner2 son dos esquinas opuestas que definen la región en la que se desea escribir. Por ejemplo, 'D2:H4' representa la región rectangular de 3 por 5 entre las dos esquinas D2 y H4 en la hoja de cálculo. El argumento de par nombre-valor 'Range' no distingue entre mayúsculas y minúsculas, y utiliza el estilo de referencia A1 de Excel (consulte Excel para obtener ayuda).

Ejemplo: 'Range','D2:H4'

  • Si el intervalo que especifica es menor que el tamaño de los datos de entrada, la función de escritura escribe únicamente un subconjunto de los datos de entrada que quepa en el intervalo.

  • Si el intervalo que especifica es mayor que el tamaño de los datos de entrada, la función de escritura deja la parte restante de la región como está.

El par nombre-valor 'Range' puede usarse únicamente con archivos de Excel.

Ejemplo: 'Range', 'A1:F10'

Tipos de datos: char | string

Indicador para inciar una instancia de Microsoft Excel para Windows al escribir datos de hoja de cálculo, especificado como el par separado por comas que consta de 'UseExcel' y true o false.

Puede establecer el parámetro 'UseExcel' en uno de estos valores:

  • true: la función de escritura inicia una instancia de Microsoft Excel al escribir el archivo.

  • false: la función de escritura no inicia una instancia de Microsoft Excel al escribir el archivo. Al operar en este modo, la funcionalidad de escritura varía en la compatibilidad de los formatos de archivo y características interactivas, como fórmulas y macros.

UseExcel

true

false

Formatos de archivo compatibles

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Soporte para funcionalidades interactivas, como fórmulas y macros

No

Al escribir en archivos de hojas de cálculo en plataformas de Windows, si desea iniciar una instancia de Microsoft Excel, establezca el parámetro 'UseExcel' en true.

UseExcel no es compatible en entornos automatizados no interactivos.

Ajustar de manera automática el ancho de las columnas, especificado como true o false. Si especifica un valor de 0 o false, writetable no ajustará de manera automática los anchos de las columnas para que los datos quepan en las celdas.

Ejemplo: 'AutoFitWidth',0

Mantener el formato de las celdas de una hoja de cálculo existente, especificado como true o false. Si especifica false, writetable no mantendrá el formato de las celdas de la hoja de cálculo. El formato incluye elementos como fuentes, bordes de celda y celdas sombreadas con color.

Cuando escriba datos datetime en un archivo de hoja de cálculo, debe establecer tanto 'PreserveFormat' como el par nombre-valor 'UseExcel' en true para mantener el formato de las celdas existente. Si 'UseExcel' se establece en false y 'PreserveFormat' se establece en true, cuando escriba datos datetime en el archivo, writetable no mantendrá el formato de las celdas existente del archivo.

Ejemplo: 'PreserveFormat',false

Solo archivos XML

expandir todo

Sufijo de atributo, especificado como el par separado por comas que consta de 'AttributeSuffix' y un vector de caracteres o un escalar de cadena que indica qué nombres de variables de la tabla de entrada se escribirán como atributos en el archivo XML de salida.

Por ejemplo, para un nombre de variable AttName_att en la tabla de entrada, puede especificar 'AttributeSuffix','_att' para indicar que 'AttName' debe escribirse como un atributo en el archivo XML de salida.

  • Si no especifica 'AttributeSuffix', writetable escribe de forma predeterminada variables con el sufijo 'Attribute' como atributos en el archivo XML de salida.

  • Si el atributo especificado como valor de 'AttributeSuffix' coincide con el sufijo añadido al nombre de la variable en la tabla de entrada, el sufijo se eliminará del nombre de la variable en el archivo XML de salida. Por ejemplo, si especifica 'AttributeSuffix','_att', una variable en la tabla de entrada llamada MyField_att corresponderá al atributo llamado MyField en el archivo XML.

Ejemplo: 'AttributeSuffix','_att'

Nombre del nodo de fila XML, especificado como el par separado por comas que consta de 'RowNodeName' y un vector de caracteres o un escalar de cadena que la función de escritura escribe como el nombre de nodo en el archivo XML de salida que corresponde a las filas de la tabla de entrada. Si no especifica RowNodeName, la función de escritura escribe 'row' como el nombre de los nodos de fila en la tabla de salida.

Ejemplo: 'TableNodeName','RootName'

Nombre del nodo raíz XML, especificado como el par separado por comas que consta de 'TableNodeName' y un vector de caracteres o un escalar de cadena que la función de escritura escribe como el nombre del nodo raíz en el archivo XML de salida. Si no especifica TableNodeName, la función de escritura escribe 'table' como el nombre del nodo raíz en la tabla de salida.

Ejemplo: 'TableNodeName','RootName'

Limitaciones

  • writetable no admite la escritura de tablas anidadas. Utilice splitvars en la tabla anidada para dividir las variables de varias columnas en variables de una sola columna antes de escribir.

Sugerencias

  • Creación de hojas vacías en archivos de hojas de cálculo: Cree una hoja vacía en un archivo de hoja de cálculo con writetable escribiendo una tabla vacía. Por ejemplo, cree una hoja vacía llamada 'MySheetName'.

    writetable(table(),'empty.xls','Sheet','MySheetName')
    O cree tres hojas vacías llamadas 'Sheet1', 'Sheet2' y 'Sheet3'.
     writetable(table(),'empty.xls','Sheet',3)

Algoritmos

  • Si los indicadores lógicos 'WriteVariableNames' y 'WriteRowNames' son true, la función writetable utiliza el nombre de la primera dimensión de la propiedad T.Properties.DimensionNames como encabezado de columna para la primera columna de la salida.

  • Excel convierte los valores Inf en 65535. MATLAB® convierte los valores categóricos NaN, NaT y <undefined>, y los valores de cadena <missing> en celdas vacías.

  • Para archivos de Excel, writetable escribe variables table que contienen arreglos datetime como fechas de Excel. Si table contiene arreglos datetime con años anteriores a 1900 o 1904, writetable escribe las variables como texto. Para obtener más información sobre las fechas de Excel, consulte Diferencias entre el sistema de fechas 1900 y 1904 en Excel.

  • Existen algunos casos en los que la función writetable crea un archivo que no representa T con exactitud. Observará esto cuando utilice readtable para leer ese archivo. Es posible que la tabla resultante no tenga el mismo formato o contenido que la tabla original. Si es necesario guardar una tabla y recuperarla más adelante para que coincida de manera exacta con la tabla original, con los mismos datos y organización, guárdela como un archivo MAT. writetable escribe una tabla inexacta en los casos siguientes:

    • Al escribir en archivos de texto, writetable genera como resultado variables numéricas utilizando el formato long g y variables categóricas o de caracteres como caracteres sin entrecomillar.

    • Para las variables que tienen más de una columna, writetable añade un identificador único al nombre de la variable para usarlo como encabezado de columna.

    • Para las variables de salida que tienen más de dos dimensiones, writetable genera como resultado estas variables como bidimensionales donde las dimensiones finales se contraen. Por ejemplo, writetable genera como resultado una variable de 4 por 3 por 2 como si su tamaño fuera de 4 por 6.

    • Para las variables con un tipo de datos cell, writetable genera como resultado el contenido de cada celda como una sola fila, en varios campos. Si el contenido no es numérico, lógico, de caracteres o categórico, writetable genera como resultado un único campo vacío.

Historial de versiones

Introducido en R2013b