Why doesn't 'HeaderLines' work in the readtable command?

140 views (last 30 days)
I am importing some excel files into Matlab using the readtable command. There are a couple of header lines in the file that I would like to skip, but when I use the name-value pair ('HeaderLines',2), I get an error:
Error using readtable (line 198)
Invalid parameter name: HeaderLines.
Has anyone else experienced this? Is there a way to get around this error?

Accepted Answer

Walter Roberson
Walter Roberson on 31 Mar 2018
"When reading:
  • Text files, only these parameter names apply: FileType, ReadVariableNames, ReadRowNames, TreatAsEmpty, DatetimeType, Delimiter, HeaderLines, Format, EmptyValue, MultipleDelimsAsOne, CollectOutput, CommentStyle, ExpChars, EndOfLine, DateLocale, and Encoding.
  • Spreadsheet files, only these parameter names apply: FileType, ReadVariableNames, ReadRowNames, TreatAsEmpty, DatetimeType, Sheet, Range, Basic, and TextType.
  • Text or Spreadsheet files with the opts import options, only these parameter names apply: ReadVariableNames, ReadRowNames, DateLocale, Encoding, Sheet, and Basic. "
You are reading a spreadsheet file. You need to use Range instead of HeaderLines

More Answers (1)

Bradley Stiritz
Bradley Stiritz on 21 Oct 2018
Edited: Bradley Stiritz on 25 Apr 2019
Walter's solution is a good one, when the number of table rows are known in advance. In my case, I have Excel files with a fixed number of header rows, and variable number of data rows.
I reached out to tech support, and got the following solution. This works well for me, I hope it can help others also--
% Assume Excel file has 6 header rows
>>path_ = 'C:\data\my_file.xlsx';
>>ImportOptions_ = detectImportOptions(path_, 'NumHeaderLines', 6);
>>tb = readtable(path_,ImportOptions_);
(Edit: corrected minor bugs per Doug Bergman)
  2 Comments
Doug Bergman
Doug Bergman on 25 Apr 2019
Edited: Doug Bergman on 25 Apr 2019
Brad, your solution worked well for me, once i realized that
path
is the full filename and not just the directory path, and
IOpts
is the same as
ImportOptions_
Thanks for posting, saved me a day of pulling my hair out.
Bradley Stiritz
Bradley Stiritz on 25 Apr 2019
Hi Doug, thank you for your comment and correction notes. I'm glad you were able to save some time. Apologies for the sloppy code example, I have edited my post accordingly.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!