Convert Cells with space entry to an empty cell

3 views (last 30 days)
Hey I have a problem: I import data from excel into matlab and I get a cell array. Something weird happens though: Whenn the cell is empty in excel, in matlab in some cases I get a NaN entry and in other cases I get this entry: ' ' I´d like both of them to be empty. Therefor I used
data = cellNaNReplace(data,[])
to replace the NaNs. But I am desperetly searching for a solution for the case of the entry ' '
I would be very happy in any case of good suggestions! Thanks

Answers (2)

José-Luis
José-Luis on 30 Jun 2016
Edited: José-Luis on 30 Jun 2016
a = { '', '', '', 'bla', 'bla';
'', 'bla', 'bla', 'bla', ''}
a(strcmp('',a)) = {[]}
Please remember to accept the answer that best solves your problem.
  2 Comments
Caroline Hammoutene
Caroline Hammoutene on 30 Jun 2016
Unfortunately does not work, thank you anyways
José-Luis
José-Luis on 30 Jun 2016
Edited: José-Luis on 30 Jun 2016
Does not work how? This assume you had gotten rid of the NaN s

Sign in to comment.


Shameer Parmar
Shameer Parmar on 30 Jun 2016
Hello Caroline,
I dont know the direct command similar of what you used. like.. cellNaNReplace()
But I am sure, following solution will help you..
let us consider A is the cell array which you got from xlsread, which contains 'NaN' and ''.
for count = 1: length(A)
if isempty(A{count}) || isnan(A{count})
A{count} = [];
end
end
  2 Comments
José-Luis
José-Luis on 30 Jun 2016
Edited: José-Luis on 30 Jun 2016
length() would only work in the case of a column or vector array. You could use numel()
Caroline Hammoutene
Caroline Hammoutene on 30 Jun 2016
unfortunately isempty always returns 0 in this case

Sign in to comment.

Categories

Find more on Matrices and Arrays 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!