MATLAB Answers

Mjan88
0

Multiple 'EndOfLine' readtable

Asked by Mjan88
on 17 Sep 2019 at 16:11
Latest activity Commented on by Mjan88
on 18 Sep 2019 at 5:40
Hi all,
Does anybody know how to impose multiple 'EndOfLine' characters in 'readtable'.
My problem is namely that I'm trying to easily read a csv file (I like the readtable option), in which some lines end with a comma, and other don't.
Read table otherwise gives the error "Line 10 has 29 delimiters, while preceding lines have 28"
Thanks in advance.

  0 Comments

Sign in to comment.

1 Answer

Guillaume
Answer by Guillaume
on 17 Sep 2019 at 16:54
Edited by Guillaume
on 17 Sep 2019 at 16:54

This has nothing to do with the EndOfLine character (which is typically not rendered when viewed in a text viewer).
As the error message tells you, the problem is with the number of delimiters. You can't do anything about that directly with readtable but you could construct a delimitedTextImportOptions object to use with readtable that should be able to cope with this.
Assuming that your file has a header line with the correct number of delimiters, the following would most likely work:
opts = detectImportOptions(yourfile);
opts.ExtraColumnsRule = 'ignore'; %ignore extra columns created by extra delimiters at the end of lines
data = readtable(yourfile, opts)
If it doesn't work, you may need to give more hints to the option object.

  1 Comment

Mjan88
on 18 Sep 2019 at 5:40
That is a very convenient solution. Thanks a lot

Sign in to comment.