Matlab分析拟合Excel中的数据(1)---数据的导入

前言:office的表格文件也就是xls文件,本质上就是一个二维矩阵,二维矩阵是用来保存数据的最佳方式,所以在日常工作中,我们从其它地方获取的数据通常都被保存为xls格式,但处理数据时,我们却需要把xls文件的数据导入到matlab里进行处理。 如果你只处理一个文件并且只做一次的话,你可以手动来拷贝粘贴,这花费不了你太多时间。如果有很多xls文件,或者你的xls文件的内容可能随时被修改,那么下面的方法可以派上用场。 matlab自身提供了大量的函数,包括读取office文件。其中xlsread和xlswrite就是专门用来读取xls文件里的数据的。这两个函数的使用方法可以直接查看matlab自带的帮助。 xlsread对于纯数据的xls文件支持很完美,也就是说当xls文件里的每个格子都是“数”时,xlsread会直接返回一个实数矩阵。但是通 常我们拿到xls文件并不是这样,它的表头多半是描述性文字,它的数据也有可能是文字,有些位置的数据还有可能是缺失的。xlsread对这样的文件读取 无能为力,或者说需要大量的时间去协调数据的位置信息。要是有一个函数,能够按照原有的顺序直接读取所有的单位格数据就好了。当然,这时候返回的矩阵就不 能是一个数值矩阵了,它将会是一个cell矩阵,里面的每个元素类型可能不一样。 matlab本身并不提供这个功能,但是另外有一个函数officedoc完美的实现这个功能。这个函数包可以去OfficeDoc官方网站上去下载,解压缩后放到工作路径上即可。使用方法可以查询help officedoc。officedoc是收费函数包,但有免费版本,而且其免费版本可以实现上面我们所说的效果(收费版本主要是可以用来修改office文件)。

在matlab中读取xls格式的文件内容如应用如下函数:

我们通过几种导入方法进行导入:

  1. 普通导入
    方法:
data=xlsread(filepath) %其中filepath表示要导入文件的路径加文件名,要用单引号引起来

实例:

data=xlsread('I:\Test\a.xlsx')

这里写图片描述
打开工作区查看:
这里写图片描述
可以看到数据已经导入成功;但是这种方法导入原始,不能识别中文,不能选择感兴趣的数据区域和sheet;
2. 选择特定sheet导入:
方法:

data=xlsread(filepath,sheetN) %N代表选择的sheet,比如sheet1即可写1;

实例:

data=xlsread('I:\Test\a.xlsx',2)

导入结果:
这里写图片描述
3. 自己选择数据(灵活):
方法:

data=xlsread(filepath,-1)

实例:

data=xlsread('I:\Test\a.xlsx',-1)

运行代码后显示:
这里写图片描述
截取两行数据如下:
这里写图片描述
点击确定;
查看工作区:
这里写图片描述
非常的灵活易用,有木有啊有木有?
4. 导入代码指定数据域
方法:

data=xlsread(filepath,'A0:B1')

实例:

data=xlsread('I:\Test\a.xlsx', 'B6:KO7')

截取a中B6:KO7共计2行300列的数据,显示如下:
这里写图片描述
是不是比方法4更灵活?
5. 批量导入(文件较多的时候)
方法:

for i=1:100
filename=[filepath,num2str(i),'.xls']; 
data=xlsread(filename)
end

当然以上方法同样可以灵活组合.。
比如:

data = xlsread(filename,sheetN, 'range')  %表示选取sheetN中某个数据区域的数据进行导入分析;

如果觉得本文写的还不错的伙伴,可以给个关注一起交流进步,如果有在找工作且对阿里感兴趣的伙伴,也可以发简历给我进行内推:
在这里插入图片描述

  • 17
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值