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 y analizar archivo de texto tabular grande

En este ejemplo se muestra cómo crear un almacén de datos para un archivo de texto grande que contiene datos tabulares y, a continuación, leer y procesar los datos de un fragmento a la vez o de un archivo a la vez.

Cree un almacén de datos

Cree un almacén de datos desde el archivo de ejemplo mediante la función.airlinesmall.csvdatastore Cuando se crea el almacén de datos, se puede especificar que el texto, en la información se trate como datos que faltan.NA

ds = datastore('airlinesmall.csv','TreatAsMissing','NA');

Devuelve un.datastoreTabularTextDatastore La función determina automáticamente el tipo de almacén de datos adecuado para crear en función de la extensión de archivo.datastore

Puede modificar las propiedades del almacén de datos cambiando sus propiedades. Modifique la propiedad para especificar que los valores que faltan se tratan como 0.MissingValue

ds.MissingValue = 0;

En este ejemplo, seleccione la variable para el retardo de llegada, como la variable de interés.ArrDelay

ds.SelectedVariableNames = 'ArrDelay';

Previsualice los datos utilizando la función.preview Esta función no afecta al estado del almacén de datos.

data = preview(ds)
data=8×1 table
    ArrDelay
    ________

        8   
        8   
       21   
       13   
        4   
       59   
        3   
       11   

Leer subconjuntos de datos

De forma predeterminada, Lee de una 20000 filas a la vez.readTabularTextDatastore Para leer un número diferente de filas en cada llamada a, modifique la propiedad de.readReadSizeds

ds.ReadSize = 15000;

Lea subconjuntos de los datos utilizando la función en un bucle.dsreadwhile El bucle se ejecuta hasta que vuelve.hasdata(ds)false

sums = []; counts = []; while hasdata(ds)     T = read(ds);          sums(end+1) = sum(T.ArrDelay);     counts(end+1) = length(T.ArrDelay); end

Calcule el retardo de llegada promedio

avgArrivalDelay = sum(sums)/sum(counts)
avgArrivalDelay = 6.9670 

Restablezca el almacén de datos para permitir la rerevisión de los mismos.

reset(ds)

Leer un archivo a la vez

Un almacén de datos puede contener varios archivos, cada uno con un número diferente de filas. Puede leer desde el almacén de datos un archivo completo a la vez estableciendo la propiedad.ReadSize'file'

ds.ReadSize = 'file';

Cuando se cambia el valor de un número a o viceversa, MATLAB restablece el almacén de datos.ReadSize'file'

Lea el uso de la función en un bucle, como antes, y calcule el retardo de llegada medio.dsreadwhile

sums = []; counts = []; while hasdata(ds)     T = read(ds);          sums(end+1) = sum(T.ArrDelay);     counts(end+1) = length(T.ArrDelay); end avgArrivalDelay = sum(sums)/sum(counts)
avgArrivalDelay = 6.9670 

Consulte también

| | |

Temas relacionados