Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Leer datos de hoja de cálculo en tabla

La mejor manera de representar datos de hojas de cálculo en MATLAB® es en una tabla, que puede almacenar una mezcla de datos numéricos y de texto, así como nombres de variables y filas. Puede leer datos en tablas de forma interactiva o mediante programación. Para seleccionar datos de forma interactiva, haga clic en la pestaña, en la sección.Import DataHomeVariable Para importar datos mediante programación, utilice una de estas funciones:

  • — Leer una sola hoja de trabajo.readtable

  • — Leer varias hojas de trabajo o archivos.spreadsheetDatastore

En este ejemplo se muestra cómo importar datos de hoja de cálculo mediante programación utilizando ambas funciones. Los datos de ejemplo, contienen una hoja para cada año entre 1996 y 2008.airlinesmall_subset.xlsx Los nombres de las hojas corresponden al año, por ejemplo.2003

Leer todos los datos de la hoja de trabajo

Llame para leer todos los datos en la hoja de cálculo denominada 2008 y, a continuación, mostrar solo las primeras 10 filas y columnas.readtable Especifique el nombre de la hoja de cálculo mediante el argumento de par nombre-valor.Sheet Si los datos están en la primera hoja de cálculo del archivo, no es necesario especificar.Sheet

T = readtable('airlinesmall_subset.xlsx','Sheet','2008'); T(1:10,1:10)
ans=10×10 table
    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________

    2008      1           3            4         1012         1010        1136         1135           'WN'            752   
    2008      1           4            5         1303         1300        1411         1415           'WN'           1161   
    2008      1           6            7         2134         2115        2242         2220           'WN'           1830   
    2008      1           7            1         1734         1655          54           30           'WN'            302   
    2008      1           8            2         1750         1755        2018         2035           'WN'           1305   
    2008      1           9            3          640          645         855          905           'WN'            896   
    2008      1          10            4         1943         1945        2039         2040           'WN'            120   
    2008      1          11            5         1303         1305        1401         1400           'WN'           1685   
    2008      1          13            7         1226         1230        1415         1400           'WN'           1118   
    2008      1          14            1         1337         1340        1623         1630           'WN'            730   

Leer rango seleccionado de hoja de trabajo específica

En la hoja de trabajo con nombre, lea solo 10 filas de datos de las primeras 5 columnas especificando un rango,.1996'A1:E11' La función devuelve una tabla de 10 por 5.readtable

T_selected = readtable('airlinesmall_subset.xlsx','Sheet','1996','Range','A1:E11')
T_selected=10×5 table
    Year    Month    DayofMonth    DayOfWeek    DepTime
    ____    _____    __________    _________    _______

    1996      1          18            4         2117  
    1996      1          12            5         1252  
    1996      1          16            2         1441  
    1996      1           1            1         2258  
    1996      1           4            4         1814  
    1996      1          31            3         1822  
    1996      1          18            4          729  
    1996      1          26            5         1704  
    1996      1          11            4         1858  
    1996      1           7            7         2100  

Convert Variables to Datetimes, Durations, or Categoricals

Durante el proceso de importación, detecta automáticamente los tipos de datos de las variables.readtable Sin embargo, si los datos contienen fechas no estándar, duraciones o etiquetas repetidas, puede convertir esas variables a sus tipos de datos correctos. Convertir variables a sus tipos de datos correctos le permite realizar cálculos y comparaciones eficientes y mejora el uso de memoria. Por ejemplo, represente las variables, y como una variable, como, y como en minutos.YearMonthDayofMonthdatetimeUniqueCarriercategoricalArrDelayduration

data = T(:,{'Year','Month','DayofMonth','UniqueCarrier','ArrDelay'}); data.Date = datetime(data.Year,data.Month,data.DayofMonth); data.UniqueCarrier = categorical(data.UniqueCarrier); data.ArrDelay = minutes(data.ArrDelay);

Busque el día del año con la demora más larga y, a continuación, muestre la fecha.

ind = find(data.ArrDelay == max(data.ArrDelay)); data.Date(ind)
ans = datetime
   07-Apr-2008

Leer todas las hojas de cálculo del archivo

Un almacén de datos es útil para procesar cantidades arbitrariamente grandes de datos que se distribuyen en varias hojas de cálculo o en varios archivos de hoja. Puede realizar la importación y el procesamiento de datos a través del almacén de datos.

Cree un almacén de datos a partir de la colección de hojas de cálculo, seleccione las variables que desea importar y, a continuación, previsualice los datos.airlinesmall_subset.xlsx

ds = spreadsheetDatastore('airlinesmall_subset.xlsx'); ds.SelectedVariableNames = {'Year','Month','DayofMonth','UniqueCarrier','ArrDelay'}; preview(ds)
ans=8×5 table
    Year    Month    DayofMonth    UniqueCarrier    ArrDelay
    ____    _____    __________    _____________    ________

    1996      1          18            'HP'             6   
    1996      1          12            'HP'            11   
    1996      1          16            'HP'           -13   
    1996      1           1            'HP'             1   
    1996      1           4            'US'            -9   
    1996      1          31            'US'             9   
    1996      1          18            'US'            -2   
    1996      1          26            'NW'           -10   

Antes de importar datos, puede especificar qué tipos de datos se usarán. Para este ejemplo, importe como una variable categórica.UniqueCarrier

 ds.SelectedVariableTypes(4) = {'categorical'};

Importar datos mediante las funciones o.readallread La función requiere que todos los datos quepan en la memoria, lo que es cierto para los datos de ejemplo.readall Después de la importación, calcule el retardo de llegada máximo para este conjunto de datos.

alldata = readall(ds); max(alldata.ArrDelay)/60
ans = 15.2333 

Para conjuntos de datos grandes, importe partes del archivo mediante la función.read Para obtener más información, consulte.Read Collection or Sequence of Spreadsheet Files

Consulte también

|

Temas relacionados