Comparing two excel files!

46 vues (au cours des 30 derniers jours)
Farshad
Farshad le 18 Juin 2020
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

Réponses (1)

Pranjal Kaura
Pranjal Kaura le 19 Juin 2020
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

Catégories

En savoir plus sur Data Import from MATLAB dans Help Center et File Exchange

Tags

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by