Convert Cells with space entry to an empty cell

1 次查看(过去 30 天)
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

回答(2 个)

José-Luis
José-Luis 2016-6-30
编辑:José-Luis 2016-6-30
a = { '', '', '', 'bla', 'bla';
'', 'bla', 'bla', 'bla', ''}
a(strcmp('',a)) = {[]}
Please remember to accept the answer that best solves your problem.
  2 个评论
José-Luis
José-Luis 2016-6-30
编辑:José-Luis 2016-6-30
Does not work how? This assume you had gotten rid of the NaN s

请先登录,再进行评论。


Shameer Parmar
Shameer Parmar 2016-6-30
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 个评论
José-Luis
José-Luis 2016-6-30
编辑:José-Luis 2016-6-30
length() would only work in the case of a column or vector array. You could use numel()

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by