Matlab - problema para importar datos desde txt

 
Vista:

problema para importar datos desde txt

Publicado por raul (1 intervención) el 19/01/2016 20:36:53
Qué tal, tengo iun problema para importar datos ya que tengo un archivo .txt donde el encabezado es de 8 lineas y corresponde a la configuracion del dispositivo que captura datos, luego de esas lineas vienen las 4 columnas que contienen los datos. Entonces queria saber como se puede hacer para que importe los datos que vienen despues de esas 8 lineas. 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
sin imagen de perfil

problema para importar datos desde txt

Publicado por Miguel (17 intervenciones) el 19/01/2016 21:01:13
Hola, una forma es: simplemente ponerles al comienzo de cada linea en el archivo txt el simbolo %
ejemplo

% dia hora Temp

1 2 20
2 3 18


luego lo cargas en matlab con

datos=load('nombre_archivo.txt');
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

problema para importar datos desde txt

Publicado por raul (1 intervención) el 20/01/2016 03:07:14
Es una posibilidad, pero la idea es no tener que alterar el archivo .txt
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

problema para importar datos desde txt

Publicado por Miguel (17 intervenciones) el 20/01/2016 04:33:05
Mira tuve que realizar un script para pegar varios archivos csv (en los cuales hay 97 lineas de encabezado y no hay numero de columnas fijas) por lo que para no considerar estas 97 lineas use fgetl, luego como mis datos poseen numeros y letras use str2num.
Te mando parte del script para ver como lo puedes ajustar a tus datos ya que desconozco su forma. (no use csvread ya que no es rectangular y no solo numerica), ojala algo de esto t sirva


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
entrada=fopen(archivo,'r')% abre archivo csv de la lista
 
 
% leemos las primeras 96 lineas sin hacer nada, para comenzar a trabajar desde el encabezado
for i=1:97
 
        borrar=fgetl(entrada); % eliminando lineas que no deseamos, en realidad las lee y no hace nada hasta la 96
 
end
 
 
%lectura de lineas desde 98 en adelante
 
 
 
 
for j=1:(numfilas-97)  % filas de interes
 
    fila=str2num(fgetl(entrada));% cambiamos texto por numeros, ya que el archivo no es matriz, posee comas para separar
 
    for k=1:72 % guardamos las columnas en un arreglo matricial 
 
             elemento=fila(1,k);       % extraigo elemento de cada fila para pasarlo a la matriz
             x=s+j;                             % esto es para comenzar desde la siguiente fila a la ultima guardada, es decir, a continuaciòn del ultimo archivo guardado
             datossarco(x,k)=elemento; % genero una matriz con las filas de cada archivo
 
    end
 
 
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