Multiple 'EndOfLine' readtable

8 views (last 30 days)
Mjan88
Mjan88 on 17 Sep 2019
Commented: Mjan88 on 18 Sep 2019
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.

Answers (1)

Guillaume
Guillaume on 17 Sep 2019
Edited: Guillaume on 17 Sep 2019
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
Mjan88 on 18 Sep 2019
That is a very convenient solution. Thanks a lot

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!