将成绩信息匹配到另一方名单中,两个名单顺序不同
clc;clear;
%加载excel表格,表格预处理过,表头英文
list_file='E:\Project\my\成绩匹配填写\列表.xlsx';
grade_file='E:\Project\my\成绩匹配填写\名单.xlsx';
%转为结构体
ftable=readtable(list_file);
list = table2struct(ftable);
numl = length(list);%长度
ftable=readtable(grade_file);
grade = table2struct(ftable);
numg = length(grade);%
for(i=1:numg)
for (j=1:numl)
if (strcmp(list(j).name,grade(i).name)&&strcmp(list(j).id,grade(i).id))%匹配名字同时验证学号
grade(i).zq=list(j).zq;
grade(i).zd=list(j).zd;
grade(i).py=list(j).py;
grade(i).db=list(j).db;%填入对应的各项成绩
end
end
end
%把最终的结构体转为cell并导出为excel
cellr=cell(numg,8);
for i=1:numg
cellr{i,1}=grade(i).num;
cellr{i,2}=grade(i).id;
cellr{i,3}=grade(i).name;
cellr{i,4}=grade(i).class;
cellr{i,5}=grade(i).zq;
cellr{i,6}=grade(i).zd;
cellr{i,7}=grade(i).py;
cellr{i,8}=grade(i).db;
end
filename = 'result.xlsx';
xlswrite(filename,cellr,'sheet1');