有如下表格需要筛选:
如果要筛选style中的A,color中的F2,num中的3。
代码如下:
clear;clc;
file_Path=strcat('F:\csdn\','test1.xlsx'); %表格路径、文件名
E1=readtable(file_Path,'Sheet',1); %读取表格中的字母和数字,1代表第一个sheet
% 字母和数字一起读取可能会降低部分数字的精度,因此下面再单独读取数字,不读取字母
E2=readmatrix(file_Path,'Sheet',1);%单独读取表格中的数字
liename=string(E1.style); %按照E1中style这一列筛选
Bname='A'; %选择style中的A
Bname_=char(Bname);
condition=liename(:,1)==Bname_;
E_1=E1(condition,:); %更新筛选后的数据
E_2=E2(condition,:);
liename=string(E_1.color); %按照E_1中color这一列筛选
Bname='F2'; %选择color中的F2
Bname_=char(Bname);
condition=liename(:,1)==Bname_;
E_1=E_1(condition,:); %更新筛选后的数据
E_2=E_2(condition,:);
liename=string(E_1.num); %按照E_1中num这一列筛选
Bname=3; %选择num中的3
Bname_=num2str(Bname);
condition=liename(:,1)==Bname_;
E_1=E_1(condition,:); %更新筛选后的数据
E_2=E_2(condition,:);
代码读取表格得到:包含数字和字母的表格。但其中部分数字被当作字母读取了,这样会降低数字的精度。
所以需要单独读取表格中的数字,读取结果如下:
筛选style中的A后的表格:
筛选color中的F2后:
筛选num中的3后:即得到style中的A,color中的F2,num中的3所对应的数据