Multiple 'EndOfLine' readtable

5 次查看(过去 30 天)
Mjan88
Mjan88 2019-9-17
评论: Mjan88 2019-9-18
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.

回答(1 个)

Guillaume
Guillaume 2019-9-17
编辑:Guillaume 2019-9-17
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.

类别

Help CenterFile Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by