COMPARE CELLS VIA A LOOP

1 Ansicht (letzte 30 Tage)
Ivan Mich
Ivan Mich am 20 Jan. 2021
Kommentiert: Walter Roberson am 20 Jan. 2021
Hello,
I have a problem with a code. I have two columns with cell (200x1 cell) in a csv file. I would like to compare these two columns, and escpecially the first letter of them.
I wrote this code:
clc
clear
%comparison
filename1 = 'test.xlsx';
[d1,tex]= xlsread(filename1);
NAME1=tex(:,1);
k1=strcat(NAME1{1}(1)) %first letter
NAME2=tex(:,3);
k2=strcat(NAME2{1}(1)) %first letter
ndata=1:size(NAME1,1)
but I do not know how to continue it.
I think if statement would help. I mean:
for i
if k1==k2
write 'aggree'
else write 'disaggree'
end
end
Could you please help me?

Antworten (1)

Walter Roberson
Walter Roberson am 20 Jan. 2021
%comparison
filename1 = 'test.xlsx';
[d1,tex]= xlsread(filename1);
NAME1=tex(:,1);
k1 = cellfun(@(C) C(1), NAME1); %first letter
NAME2=tex(:,3);
k2 = cellfun(@(C) C(1), NAME2); %first letter
mask = k1 == k2;
choices = {'disagree', 'agree'};
results = choices(mask+1);
  2 Kommentare
Ivan Mich
Ivan Mich am 20 Jan. 2021
Excuse me again, If I want to create a new .xlsx file with the disagrees which command should I use?
Walter Roberson
Walter Roberson am 20 Jan. 2021
d=[NAME1(~mask), NAME2(~mask)] ;
now writecell or xlswrite d

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by