Matlab - ¿Cómo leer una serie de archivos .txt de golpe?

   
Vista:

¿Cómo leer una serie de archivos .txt de golpe?

Publicado por Adrián Alfonso (11 intervenciones) el 18/01/2013 18:30:23
HOLA!

Voy a resumir mi problema, a ver si me podéis ayudar.
Imaginad que tengo una lista con (por ejemplo) 100 archivos .txt como sigue:

p001.txt
p002.txtt
...
p099.txt
p100.txt

Y en cada p**.txt hay guardado un texto como (para el p054.txt por ejemplo):

p054(001) = 0.355
p054(002) = 0.712
...
p054(099) = 0.522
p054(100) = 0.516

Pues bien, me gustaría poder programar en matlab, de tal manera que, para un sólo click,
me saque una variable matriz z(100,100) con los 100 valores correspondientes a cada uno de los
100 archivos .txt.

Muchas gracias por vuestra ayuda!!!
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
Imágen de perfil de Dave

¿Cómo leer una serie de archivos .txt de golpe?

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 18/01/2013 21:08:29
Hola Adrián;

Muy interesante tu consulta.

De hecho que tendrías que hacer un programa Matlab, principalmente debe estas compuesto de un bucle FOR que vaya abriendo cada uno de los archivos p**.txt y posteriormente (dentro del mismo for), lea iterativamente su contenido y a la vez lo vaya almacenando en una variable.

Revisa la documentación del comando fgetl, lo cual deberias complementarlo con los bucles for y while.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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

¿Cómo leer una serie de archivos .txt de golpe?

Publicado por Adrián (11 intervenciones) el 19/01/2013 02:09:33
Hola, gracias por la aportación.
Realmente mi problema es a la hora de que me lea los archivos sucesivamente dentro del bucle.

Por ejemplo:

for i=1:100
fid = fopen('p[i].txt');C_text = textscan(fid, '%s'); % y luego ya se le registratá z(i,j)
end

Lo que no sé hacer es cómo meter esa i en el fopen para que me vaya leyendo sucesivamente los .txt del 1 al 100.
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
Imágen de perfil de Dave

¿Cómo leer una serie de archivos .txt de golpe?

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 19/01/2013 15:52:08
Hola Adrián;

Si deseas, puedes enviarme a mi correo (correa.dave30@gmail.com) unos archivo de muestra para hacerte un script de ejemplo.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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

RE: ¿Cómo leer una serie de archivos .txt de golpe?

Publicado por Mariano (1 intervención) el 30/06/2015 16:44:13
Yo lo hago así:

for (i=1:100)
texto{i}=['p',num2str(i),'.txt']
fid(i)=fopen(texto{i})
end
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