Using FGETL to skip 2 header lines

How do I use FGETL to skip 2 header lines?
My data file looks like this
Row 1: ID FName LName Year Class
Row 2: ---------------------------------
Row 3: data starts here
After I open the file with FOPEN
fid=fopen('textfile.dat','r');
How do I use FGETL to skip the 2 header lines (rows 1 & 2)?
Thanks in advance.

 Accepted Answer

per isakson
per isakson on 24 Jul 2013
Call it twice and ignore the results.

5 Comments

Thanks for your reply. How do I call it twice? (sorry, newbie here. Only 2nd week into my matlab class.)
fid=fopen('textfile.dat','r');
line=fgetl(fid);
fid=fopen('textfile.dat','r');
fgetl(fid); % Read/discard 1 line.
fgetl(fid); % Read/discard 1 line.
% Then you start reading and processing lines.
Thank you!
Don't forget to [ Accept the Answer ] if it solved your problem.
Done. Thanks for the reminder.

Sign in to comment.

More Answers (1)

A good way to read data from text files with headers is with the textscan function. When calling textscan, you an specify a number of header rows in your file. For example, if ID and Year are numeric and the other columns are strings, use:
fid=fopen('textfile.dat','r');
C = textscan(fid, '%d %s %s %d %s', 'HeaderLines', 2);

Products

Tags

Asked:

ERC
on 24 Jul 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!