MATLAB怎样有效读取excel文件中的数据?

1.使用函数xlsread读取单个文件
(1)num=xlsread(filename)
filename
是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中,数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单元,将其处理为nan
(2)num = xlsread(filename, -1)
输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet
(3)num = xlsread(filename, sheet)
其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。
(4)num = xlsread(filename,sheet, 'range')
其中range指定一个矩形的区域,用单引号括起来;例如:'D2:H4'代表以D2H4为对角定点的矩形域;
注意当excel中有合并单元格时,任何一个合并前的单元格的名字(比如D1)都会指代整个合并后的单元格,而将整个单元格读入,所以为了避免麻烦,尽量避免在需要读入的表格中合并单元格。

例如:将读取D盘下的一个文件路径为:D:/test/daxia.xls
num = xlsread('d:/test/daxia.xls',2,'D2:H4')
读取sheet2D2H4区域数据
如果要进行交互式的选择用:num= xlsread('d:/test/daxia.xls',-1)


2.
批量的文件要读取
首先将多个文件进行批量重命名例如daxia1.xls,daxia2.xls,daxia3.xls,...
然后用循环的方式实现:
for i=1:100
filename=['d:/test/daxia',num2str(i),'.xls']; 
num=xlsread(filename)
end

下面我就通过实例介绍一下MATLAB如何导入excel数据。

1.   读取sheet1中的所有数据

我们以03版excel为例,假设excel中数据为


默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车


NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。

2.   读取指定sheet中的数据

假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车

结果如下:


3.   读取指定单元格中的数据

  1. 以sheet2中的数据为例

    假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:

  2. 如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!


  • 260
    点赞
  • 695
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值