Matlab - No puedo importar datos desde un ASCII

 
Vista:

No puedo importar datos desde un ASCII

Publicado por Roberto Andre (3 intervenciones) el 30/08/2011 02:55:35
Hola a todos, tengo un problema con un archivo ASCII delimitado por comas, el problema está en que detrás de cada coma hay un par de cremillas, que al parecer confunden la importación y me dejan el archivo con una sola columna en circunstancias en que necesito que las separe en 8.

Hasta ahora he estado usando el comando importdata de la siguiente forma:

a=importdata('archivo.asc',',');

Otra cosa que necesito en mi programa es que pueda distinguir la información de las columnas y filas, la información de los archivos es:

5500, " ", "P", 0, 0.247, "nC"NOT_VALID_LABELNOT_VALID_LABEL
5500, " ", "T", 0, 183.901, "nC"NOT_VALID_LABELNOT_VALID_LABEL
5500, " ", "0", 4, 0.407, "mSv"NOT_VALID_LABELNOT_VALID_LABEL
5500, " ", "0", 4, 0.281, "mSv"NOT_VALID_LABELNOT_VALID_LABEL
5500, " ", "0", 4, 0.319, "mSv"NOT_VALID_LABELNOT_VALID_LABEL
5500, " ", "0", 4, 0.351, "mSv"NOT_VALID_LABELNOT_VALID_LABEL

Verán que en la columna 4 hay unos 0 y unos 4, además en la columna 6 unidades de nC y mSv. Tengo que reconoces si dicen 4 y además, mSV para que haga el promedio entre las dos filas consecutivas (obviamente, entre fila 3-4, 5-6, 7-8 y así)

Muchas gracias de antemano a todos
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: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

No puedo importar datos desde un ASCII

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/08/2011 03:30:08
hola Robert.
No entiendo mucho tu pregunta.
%================================
clear all; clc
fid=fopen('importandodatostexto12.ASC');
i=1;
while 1
linea = fgetl(fid);
if ~ischar(linea),
break,
end
v=find(linea==',');
V1(i,:)=linea(1,1:v(1)-1);
V2(i,:)=linea(v(1)+1:v(2)-1);
V3(i,:)=linea(v(2)+1:v(3)-1);
V4(i,:)=linea(v(3)+1:v(4)-1);
V5(i,:)=linea(v(4)+1:v(5)-1);
V6{i,:}=linea(v(5)+1:end);
i=i+1;
end
fclose(fid);
display(V1)
display(V2)
display(V3)
display(V4)
display(V5)
display(V6)
%================================


>> importandodatostexto12

V1 =

5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
5500
..
.
.
.

saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
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

No puedo importar datos desde un ASCII

Publicado por Roberto (3 intervenciones) el 30/08/2011 15:04:31
Hola José, el problema está en la lectura más que en las operaciones, creo que se por el tipo de archivo o algo así, porque cada vez que intento abrirlo (incluso con tu código), no me permite hacerlo, creo que es lo más complicado hasta ahora.

Gracias por la ayuda, saludos

RGS
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