MATLAB Answers

Convert Cells with space entry to an empty cell

5 ビュー (過去 30 日間)
Caroline Hammoutene
Caroline Hammoutene 2016 年 6 月 30 日
編集済み: José-Luis 2016 年 6 月 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

  0 件のコメント

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

回答 (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 件のコメント

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

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

Community Treasure Hunt

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

Start Hunting!

Translated by