MATLAB Answers

readmatrix with numbers and text from .csv file

79 views (last 30 days)
Mike Mierlo van
Mike Mierlo van on 12 Jan 2020
Answered: Meg Noah on 12 Jan 2020
Hi guys,
I have a very large .csv file to read which contains text and numbers. To explain I have a very simplified .csv file below called test.csv.
test.csv =
1,2,3,test
a,b,5,6
7,asdf,8,9,d
As can be seen this is a 3x4 matrix of numbers and text. I want this read by MATLAB and put into a matrix.
When I try readmatrix('test.csv') I get the numbers but instead of text I get 'NaN'. I want to have the numbers and the text into the matrix.
Please help me.

  0 Comments

Sign in to comment.

Accepted Answer

Meg Noah
Meg Noah on 12 Jan 2020
The problem is your last line has 5 columns. This seems to do what you're asking, and hopefully will be enough to get you started:
opts = detectImportOptions('simplified.csv');
opts.ExtraColumnsRule = 'ignore';
disp(opts)
opts = setvartype(opts,{'Var1','Var2','Var3',},{'categorical','categorical','categorical'});
x = readtable('simplified.csv',opts);
y = table2cell(x);
It would help to have your file, and a better understanding of what you intend to do with the matrix.

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.