Comparing two excel files!

조회 수: 47 (최근 30일)
Farshad
Farshad 2020년 6월 18일
답변: Pranjal Kaura 2020년 6월 19일
I have two excel files with large amount of data. The cloumns in each file has the same title and same type of data. The data within the each column are combination of numerical values and text string (e.g. equiptment part number: 4F675HGYTV897). I also have some colums with numerical values and some with strings. I like to compare all of them.
I want to be able to compare columns and rows between the two files and report out the differnece.
Any help will be appreciated.
All the best,
Farshad

답변 (1개)

Pranjal Kaura
Pranjal Kaura 2020년 6월 19일
Hey,
Here’s the code that compares 2 different excel files and stores the occurrence/index of any difference.
[~,~,raw1] = xlsread('pathtoFile1') ;
[~,~,raw2] = xlsread('pathtoFile2') ;
incorrectIndexes = zeros(size(raw1, 1), 2);%indexes stored in this array. Initialized for faster access/computation
numIncorrect = 0; % stores the count of number of differences encountered
if size(raw1) == size(raw2) % stop execution if unequal size
indexRows_error = find(all(cellfun(@isequal, raw1.', raw2.')) == 0); % compute index of rows, where there is a mismatch
% indexCols_error = find(all(cellfun(@isequal, raw1.', raw2.')) == 0); %compute index of cols where there is mimatch
% commented out the above method to showcase both the approaches for matching values.
% for loop approach
for indexrow = 1:length(indexRows_error)
row = indexRows_error(indexrow);
for col = 1:size(raw1, 2)
if(string(raw1{row, col}) ~= string(raw2{row, col}))
numIncorrect = numIncorrect + 1;
incorrectIndexes(numIncorrect, 1) = row;
incorrectIndexes(numIncorrect, 2) = col;
end
end
end
else
disp("Sizes of files unequal. Exiting");
end

카테고리

Help CenterFile Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기

태그

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by