Way for matching letters and numbers in two files?
1 view (last 30 days)
Show older comments
Hello,
I have a question about one code. I have two files. file1, has one column with numbers only. the second file (file2) has two column. in which the first column has numbers and the second columnn has letters/characters. I would like to add a new column in file1 which would have letters/characters, based on the file2 structure.
I send you some pics in order to see what I want to do.
file1
file2
final file
I attach the two files (final1.xlsx & file2.xlsx) and the final file (final_file.xlsx) I would like to create
could you help me please?
0 Comments
Accepted Answer
Image Analyst
on 22 Dec 2020
Not sure how file1 is involved. If you want to sort the cell array file2 based on the contents of column 1, use sortrows(ca, 1). If you need anymore help, attach the two files.
3 Comments
Image Analyst
on 23 Dec 2020
Ivan, I'm sure you've figured it out by now, but a simple for loop will do the trick. Here is what I have:
m1 = readmatrix('file1.xlsx')
ca2 = readcell('file2.xlsx')
col2a = cell2mat(ca2(:, 1))
% Make output cell array
ca3 = cell(size(m1, 1), 2);
for row = 1 : size(m1, 1) % For every row in file 1
rowIn2 = find(col2a == m1(row), 1, 'first'); % Find the first matching row.
ca3{row, 1} = m1(row); % Assign the number
ca3{row, 2} = ca2{rowIn2, 2}; % Assign the letter.
end
ca3 % Show in command window
outputFileName = fullfile(pwd, 'file3.xlsx');
writecell(ca3, outputFileName);
If it works, can you please "Accept this answer"?
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!