Matlab - leer ficheros csv

   
Vista:

leer ficheros csv

Publicado por Sonia (1 intervención) el 28/04/2010 12:26:43
Hola,
Tengo que procesar un montón de datos almacenados en ficheros csv, así es que necesito programar la lectura de esos ficheros. Los nombres son números consecutivos (34.csv, 35.csv, 36.csv,...). Me gustaría poder hacer algo del tipo:

for n=34:80
leer la columna 2 del fichero n.csv
y almacenarla en la columna que toque de una matriz de datos
end

No sé como hacer para hacer la rutina de incrementar en 1 el nombre del fichero y que Matlab lo siga interpretando como un nombre y no como una variable numérica
Los datos que contienen los ficheros son numéricos.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:leer ficheros csv

Publicado por Jorge (226 intervenciones) el 29/04/2010 09:48:05
Esta rutina te abre los archivos consecutivamente, de 34 a n.
Nota que la instrucción ' num2str ' convierte un número a texto, y puedes concatenarlo con la extensión de archivo para formar el nombre.

for i = 34 : n
d = fopen([num2str(i) '.csv']);

% Lee la segunda columna (el * hace que se ignore la 1a. columna)
R = textscan(d, '%*f %f ', 'delimiter',',');
% aquí haz lo que necesites con esa columna
...

fclose(d);
end

Para leer archivos numerados consecutivamente hay un ejemplo completo en:
http://www.matrixlab-examples.com/data-analysis.html

Para leer archivos .csv hay un ejemplo completo en:
http://www.matrixlab-examples.com/circuit-simulator.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar