Formatting exel import in readtable()

I have an excel file with char arrays and numerical data. I import the data using readtable(). I want all the data to be homogeneous, that is either all or none of them as cell array. Currently i import the table and search through the table and change the type using num2cell(). Is there a better way to import all the columns as cell arrays irrelavent of whether they are a string/double?
Edit: Attached is the file I want to load into matlab. I have columns of string and numbers(or num arrays). But it could be that some columns can be completely empty. If the entire column is empty, readtable reads the missing values as NaN (type: double). If one or more values is present in a column, then readtable read the missing values as {'0x0 char'}. I wanted to remove this ambiguity.

 Accepted Answer

It would help to have the Excel file to experiment with.
In its absence see the documentation on detectImportOptions and experiment with it.

2 Comments

Thanks Star, I looked into it and this worked
opts = detectImportOptions(fileName);
opts = setvartype(opts, 'char');
opts = setvaropts(opts, 'FillValue', '');
As always, my pleasure!
An interesting solution!
I did not see the Excel file until just now. It seems as though you solved the problem, however if you need more help with it I will do what I can.

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!