Import and modify " .txt" files
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hi
I have some ".txt" files with this structure :
useless
useless
useless
...
data
data
...
useless
useless
useless
data
...
And I would like to have a .txt file like this :
data
data
data
...
I just know that each first line of data section begins with '1' but the length of the headerline (useless) is not fixed ! So I would like to iterate until lines begins with '1' and then keep the data.
How would you do that the easiest way ?
Thanks a lot
5 comentarios
Respuestas (2)
  Thorsten
      
      
 el 26 de Nov. de 2015
        Copy those lines that have four numbers:
fid = fopen('file.txt', 'r');
fid2 = fopen('file2.txt', 'w');
line = fgets(fid);
while line ~= -1
  [~, count] = sscanf(line, '%f');
  if count == 4
    fprintf(fid2, '%s', line);
  end
  line = fgets(fid);
end
fclose(fid)
fclose(fid2)
6 comentarios
  johnmay
 el 26 de Nov. de 2015
        2 comentarios
  Walter Roberson
      
      
 el 27 de Nov. de 2015
				Before the loop:
   n = 2;    %whatever is appropriate
   fmt = repmat('%f ', 1, n);
   fmt(end:end+1) = '\n';    %newline, unrelated to the variable 'n'
In the loop:
[data, count] = sscanf(line, '%f');
if count >= n
  fprintf(fid2, fmt, data(1:n));
end
Ver también
Categorías
				Más información sobre Logical en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!