Matlab - Eliminar filas archivo que contienen algun caracter

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Eliminar filas archivo que contienen algun caracter

Publicado por Oscar (13 intervenciones) el 16/03/2021 16:24:14
buen dia, tengo un archivo de txt que contiene texto pero comienza con #, estas son las filas que deseo eliminar, también contiene datos numéricos en columnas separados por espacio, estos son los datos que deseo obtener de alli. Como ejemplo es

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Código para calorimetría
#valores de
# Dia 1
# Temperatura   Cp       Ct       Calor
  37         1.02      1.5       2700
  41         1.02      1.6       3700
  42         1.05      1.6       3900
# Dia 2
# Temperatura   Cp       Ct       Calor
  36         1.12      1.2       2200
  38         1.14      1.6       3000
  40         1.15      1.9       3100
 
# simulación terminada
# que tenga buen día

Claro esta el problema que estos archivos son super largos pero siempre contiene el texto el valor # como si fuera comentario de C pero desearía solo obtener los datos e introducirlos en una matriz para manipulación.
Agradezco cualquier ayuda que me brinden.
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 Jon
Val: 354
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Eliminar filas archivo que contienen algun caracter

Publicado por Jon (161 intervenciones) el 17/03/2021 09:00:13
Buenos días,

Yo haría algo así.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
%% Datos
T = readtable('Datos');
S = table2struct(T);
C = table2cell(T);
 
%% Modificación
j = 1;
for i = 1 : length(C)
    if ~isnan(C{i,1})
        Cnew(j,:) = C(i,:);
        j = j + 1;
    end
end
Cnew(:,5) = [];
Cnew = cell2mat(Cnew);
 
%% Resultados
fprintf('Datos originales =\n\n'); disp(C);
fprintf('Datos modificados =\n\n'); disp(Cnew);

Espero que te sirva de ayuda.

Un saludo,
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

Eliminar filas archivo que contienen algun caracter

Publicado por Miguel Gonzalez A. (42 intervenciones) el 03/10/2023 19:21:39
[s,r]=dos('find "#" /v datos.txt|find /v "-"')
s =
0
r =
'
37 1.02 1.5 2700
41 1.02 1.6 3700
42 1.05 1.6 3900
36 1.12 1.2 2200
38 1.14 1.6 3000
40 1.15 1.9 3100
'
Num = str2num(r)
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