Import and modify " .txt" files
    5 views (last 30 days)
  
       Show older comments
    
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 Comments
Answers (2)
  Thorsten
      
      
 on 26 Nov 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 Comments
  johnmay
 on 26 Nov 2015
        2 Comments
  Walter Roberson
      
      
 on 27 Nov 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
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

