自学内容网 自学内容网

matlab根据excel表头筛选表格数据

有如下表格需要筛选:

如果要筛选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所对应的数据


原文地址:https://blog.csdn.net/byllalala/article/details/144052863

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!