Importar los datos de un archivo CSV – Matlab

Publicado por Alejandro Escario en

MATLAB es una herramienta estupenda para tratar con grandes cantidades de datos de manera sencilla y, por eso mismo, es utilizado para desarrollar los algoritmos deseados (como por ejemplo uno de detección de pasos) antes de implementarlos en el dispositivo final. De esta manera eliminamos el factor humano al implementar algunas funciones que vienen de serie en MATLAB como, por ejemplo, una FFT (Fast Fourier Transform).

El primer paso para hacer esto es importar los datos en RAW (en crudo). Estos datos estarán formateados de una u otra manera que puede depender de nosotros o no. En mi caso, estoy trabajando con un formato CSV que separa cada uno de las «columnas» con un punto y coma (semicolon) en lugar de una coma; esto hace que no pueda hacer uso fácilmente de la función por defecto de MATLAB para abrir este tipo de archivos.

Por ello, vamos a aprender como importar datos en un formato cualquiera dado siempre que este simule a una tabla:

path = './pruebas/Sensor_record_20120731_214243_AndroSensor.csv';
formats = '%f%f%f%f%f%f%f%f%f%f';
headerLines = 1;
delimiter = ';';
[M{1:10}] = textread(path, formats,'headerlines', headerLines, 'delimiter', delimiter);

En la primera línea indicamos la ruta en la que almacenamos nuestros datos, en la segunda indicamos el formato de cada uno de los campo; en este caso estamos indicando que tenemos 10 campos y que todos ellos son un número decimal. En la tercera línea indicamos que tenemos una línea de cabecera y que ha de saltarse, esto es especialmente interesante cuando las primeras líneas no siguen el formato del resto del fichero CSV o si, simplemente, queremos obviar esas lineas y no importarlas. En la cuarta indicamos nuestro delimitados. Y, finalmente, en la sexta, le decimos que nos meta en un CellArray de 10 posiciones los datos de dicho archivo., de manera que trabajar con los datos de la primera columna es algo tan sencillo como:


plot(M{1});

Categorías: ManualesMATLAB

2 comentarios

Liliana · abril 17, 2015 a las 4:46 pm

Muchas gracias, muy buen ejemplo, me sirvió mucho

Amparo · octubre 6, 2016 a las 7:50 am

Hola,
He intentado importar datos de esta forma desde un archivo cvs pero creo que algo algo mal, me da varios errore scomo la ruta del archivo..en Path, supongo que tengo que escribir la ruta local donde se encuentra el .csv…no?
Por otro lado me decía que había muchos datos de salida.

Espero que podais ayudarme!!

Los comentarios están cerrados.