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.

 采纳的回答

per isakson
per isakson 2013-7-24

0 个投票

Call it twice and ignore the results.

5 个评论

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.
Don't forget to [ Accept the Answer ] if it solved your problem.
Done. Thanks for the reminder.

请先登录,再进行评论。

更多回答(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);

类别

帮助中心File Exchange 中查找有关 Large Files and Big Data 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by