Use isnan with input excel data containing a combination of strings and empty cells in a row

1 view (last 30 days)
When I read raw data from an excel file named INFILE.xls, I usually want to remove the free spaces between columns afterward and have a string array composed only of the existng text.
[num, str, raw]=xlsread(INFILE)
samplerow=raw(1,:)
The result is:
{'first string'} {'second string'} {[NaN]} {[NaN]} {[NaN]} {[NaN]} {'third string'} ...
I would like to then have a string array like this:
strArray={'first string'} {'second string'} {'third string'} ...
If I try to find and remove the NaN elements using isnan I receive the error message
All contents of the input cell array must be of the same data type.
How can I work aorund this?

Accepted Answer

Alex Mcaulley
Alex Mcaulley on 17 Jun 2019
If you just want the text:
[num, str, raw] = xlsread(INFILE)
samplerow = str(1,:);
samplerow(cellfun(@isempty,samplerow)) = [];

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!