MATLAB r2016b problem with cvsread

This makes no sense to me whatsoever. MATLAB will not read the requested data from the file even though it reads the same data from an almost identical file. MATLAB seems to be troubled by the column adjacent to the column from which I am requesting the data. WHY???
I did not ask MATLAB to read that column, as the image clearly shows.
I have included a screenshot of the error and both files. How can I get MATLAB to read these files?

4 个评论

It looks like Matlab fails to read "null" as a numeric value.
Exactly. But notice, I did not even ask it to read that column (as I stated above). See the problem?
Yes. I tend to use readtable because it does a good job at detecting the input format. Anyway, I'm afraid I can't help you out.
I will have to look into that. Thanks for the suggestion.

请先登录,再进行评论。

回答(1 个)

The documentation of csvread explains clearly:
The file can only contain numeric values.
'null' is not a numeric value. Even if you are not interested in this column, it must be read and parsed to proceed to the next value. But it cannot be parsed as a number, such that csvread is not the appropriate tool for this file.

2 个评论

That is a serious design flaw.
Since roughly 2015b-ish, csvread() can handle text in leading lines that you are skipping with the R argument, and it can handle text in leading columns that you are skipping with the C argument, but every row and column after that must be pure text.
The work-around is to use xlsread(), readtable(), or textscan()

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Language Support 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by