Matlab - Leer varios archivos .txt

 
Vista:

Leer varios archivos .txt

Publicado por JESUS ALONSO SANCHEZ (1 intervención) el 15/10/2019 18:31:44
Hola que tal

Tengo que cargar y leer 75 archivos .txt que contienen señales de movimiento, se llaman Arriba 1-10...Arriba -741-750 pero solo tengo el codigo para leer uno. Ademas, tengo que graficar y segmentarlas de manera manual

1
2
3
4
5
6
clear;
clc
filename = 'Arriba 1-10.txt';
delimeterIn = '\t';
headerlineIn=2;
A= importdata(filename,delimeterIn,headerlineIn);
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 JOSE JEREMIAS CABALLERO
Val: 8.145
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos .txt

Publicado por JOSE JEREMIAS CABALLERO (5621 intervenciones) el 16/10/2019 04:45:00
puede usar ls() para tomar los nombres
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> nombre=ls('*.txt')
 
nombre =
 
  10×30 char array
 
    'DownloadedLicenses06-04-19.txt'
    'GuillermoGarcia_P.txt         '
    'Readme.txt                    '
    'Sph3D.txt                     '
    'archivo_grande.txt            '
    'bandas.txt                    '
    'datos280819.txt               '
    'importacion_de_datos1.txt     '
    'nums1.txt                     '
    'texto1.txt                    '

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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
sin imagen de perfil
Val: 939
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos .txt

Publicado por Daniel (281 intervenciones) el 16/10/2019 19:10:14
Hola,

Otra alternativa es utilizar dir ya que devuelve una estructura con las propiedades de los archivos

1
2
3
4
5
6
7
8
9
10
11
files = dir('*.txt')
 
files =
 
11x1 struct array with fields:
 
    name
    date
    bytes
    isdir
    datenum

La más interesante para trabajar es name, ya que nos indica el nombre del archivo. Así se puede iterar sobre los nombres

1
2
3
for i = 1:length(files)
	files(1).name
end

Además tienes otras propiedades interesantes como isdir para saber si el objeto es un archivo o un directorio, la fecha y el tamaño del archivo.


Saludos,
Daniel Rodríguez.
Analytics Lane
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 JOSE JEREMIAS CABALLERO
Val: 8.145
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos .txt

Publicado por JOSE JEREMIAS CABALLERO (5621 intervenciones) el 17/10/2019 21:19:32
Los nombres de sus archivo no son tan claro en su pregunta. Podría mejorarlo .
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
sin imagen de perfil
Val: 939
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos .txt

Publicado por Daniel (281 intervenciones) el 18/10/2019 12:06:27
Perdón Jose, las estructuras de Matlab son un concepto intermedio en Matlab y a lo mejor debería explicarlo.

La función dir devuelve una estructura con los datos de los archivos. Las estructuras son variables que tiene propiedades, cada una de las cuales es una variable. Con lo que se obtiene código más legible. Para crear una estructura solo hay que escribir el nombre de la variable seguido de punto:

1
2
a.valor1 = 0;
a.valor2 = 1;

lo que da

1
2
3
4
5
6
a =
 
  struct with fields:
 
    valor1: 0
    valor2: 1

para acceder a cada uno de los valores simplemente se usa el nombre de la variable, seguido de punto y el nombre de la propiedad.

En el caso de dir se obtiene un vector de este tipo de objetos con varias propiedades, dentro de las cuales la más interesante es el nombre. Así si iteramos sobre el resultado de la función se puede obtener el nombre, la carpeta en la que esta contenida, la fecha, el tamaño, si es una carpeta o no, etc.

Por ejemplo, para obner el nombre del primer archivo

1
files(1).name

y la carptea en la que esta conendio

1
files(1).folder

y la ruta completa:

1
fullfile(files(1).folder, files(1).name)

Es aconsejable usar fullfile en lugar de concatenar los nombres, ya que las rutas no son iguales en Linux, Mac y Windows.
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 JOSE JEREMIAS CABALLERO
Val: 8.145
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leer varios archivos .txt

Publicado por JOSE JEREMIAS CABALLERO (5621 intervenciones) el 18/10/2019 13:51:52
Disculpa Daniel, la pregunta era para JESÚS ALONSO SÁNCHEZ. Los nombre de sus archivos no son claros. Tampoco dice con exactitud qué es lo desea hacer. Y por eso motivó la pregunta está pendiente de una solución más acertada.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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