MATLAB: Text variable in ‘cell’ data type.

cellconvertMATLABstring

I'm trying to read a text variable from a .csv file into desktop Matlab 2015a. Matlab reads it as a 'cell' type. Is there a way to convert the cell into a matrix, or have Matlab read the data directly into a matrix type? I'm using the data importation wizard. I've tried 'cell2table' and then converting the table to something useful with 'table2array' but that gives me back a cell again. I've also tried subsetting with differing kinds of brackets, but can only get the first or last entry that way.

Best Answer

Hi Simon,
The cell2mat function will attempt to convert your cell into a matrix. If your csv file contains mixed data (some numeric data and some strings), you will need to isolate the numeric part first.
Below is an example of extracting the numeric part of a cell.
C={'date','value','other';1,3,5;3,2,1}
numC=cell2mat(C(2:end,:));
You can also try the readtable function. If your csv file contains a matrix of data with column headers on top, it should give you a nice table in your workspace where the numeric data can be easily extracted into an array if necessary.