Multiple 'EndOfLine' readtable

9 次查看(过去 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 中查找有关 Tables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by