How to read column in excel table as a specific data type?

14 views (last 30 days)
Hello. I am trying to read an excel table that contains multiple columns. My understanding is that MATLAB looks at the first row of each column to determine its data type. For one of my columns, I have both numeric values and strings. Since the numeric values are first, this column returns the strings as NaN, as it has identified the whole column as type double. I would like to convert this column to cells, as I am planning to create a categorical array from them. However, I am unable to do so at the moment due to the NaN entries. Therefore, I am trying to find a way to load the column as a cell straight away, so the string entries are not lost as NaN.

Accepted Answer

Walter Roberson
Walter Roberson on 13 Mar 2023
filename = 'appropriate file name goes here';
opts = detectImportOptions(filename);
opts = setvartype(opts, COLUMNNUMBER, 'categorical');
T = readtable(filename, opts);
  2 Comments
Walter Roberson
Walter Roberson on 13 Mar 2023
If there are no headers then you might want
opts = detectImportOptions(filename, 'ReadVariableNames', false);

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!