Convert Cells with space entry to an empty cell

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 日

0 投票

a = { '', '', '', 'bla', 'bla';
'', 'bla', 'bla', 'bla', ''}
a(strcmp('',a)) = {[]}
Please remember to accept the answer that best solves your problem.

2 件のコメント

Caroline Hammoutene
Caroline Hammoutene 2016 年 6 月 30 日
Unfortunately does not work, thank you anyways
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 日

0 投票

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()
Caroline Hammoutene
Caroline Hammoutene 2016 年 6 月 30 日
unfortunately isempty always returns 0 in this case

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

質問済み:

2016 年 6 月 30 日

編集済み:

2016 年 6 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by