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

140 visualizaciones (últimos 30 días)
njj1
njj1 el 31 de Mzo. de 2018
Comentada: Jeremy Hughes el 7 de Jul. de 2022
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?

Respuesta aceptada

Walter Roberson
Walter Roberson el 31 de Mzo. de 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
  1 comentario
Jeremy Hughes
Jeremy Hughes el 7 de Jul. de 2022
For more recent releases, NumHeaderLines is allowed in spreadsheet files.

Iniciar sesión para comentar.

Más respuestas (1)

Bradley Stiritz
Bradley Stiritz el 21 de Oct. de 2018
Editada: Bradley Stiritz el 25 de Abr. de 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 comentarios
Doug Bergman
Doug Bergman el 25 de Abr. de 2019
Editada: Doug Bergman el 25 de Abr. de 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 el 25 de Abr. de 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.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by