数据读取入门——xlsread

数据读取入门——xlsread

    近期忙于准备9月14日至9月17日的高教社杯数学建模竞赛,由于本人主要负责建模和算法工作,因此每天抽出一定时间和精力放到MATLAB上。不过今天并不顺利,仅仅在一个Excel表格的读取上就犯了难,字符型和数值型完全蒙圈,还好,最终攻克了这个小难题,本文也算是分享我对xlsread函数的一点心得。

    1.只含数值型变量的Excel表格

    这个两种方法:粘贴或xlsread函数调用。粘贴不必多说,至于xlsread,我们利用如下格式:

num=xlsread('filename','sheet','range')
    式中括号内的三项都要加单引号,filename顾名思义,就是要导入的Excel的文件名,注意加.xls或.xlsx就好,第二个sheet就是表格页名,第三个range是指要导入数据的范围,这个对Excel不熟练的话建议用MATLAB打开Excel表格,直接用鼠标选中要导入的数据,然后表格里会自动出现选中数据的范围(这个的确好用),写入range即可。

    2.同时含数值型变量和字符型变量的Excel表格

    这个稍有些麻烦。

    首先,如果仅仅是需要处理其中数据,那么方法同1。如果既要处理数据又要处理字符型变量的话,就经常用到下面两种格式:

[num,txt]=xlsread('filename','sheet','range')
[num,txt,raw]=xlsread('filename','sheet','range')
 


     其中,num是数值型变量且为矩阵,txt是字符型变量且为细胞数组,raw既含数值型变量又含字符型变量,当然,raw是细胞数组。举个例子, 

日期销量
2015/2/282.6182e+03
2015/2/272.6084e+03
2015/2/262.6519e+03
2015/2/253.4421e+03
2015/2/243.3931e+03
2015/2/233.1366e+03
2015/2/223.7441e+03
这是一个名为ex1.xlsx的Excel表格的全部内容,现在我们读取它的每一部分

[num,txt,raw]=xlsread('ex1.xlsx')


输出结果如下

num=

2.6182e+03
2.6084e+03
2.6519e+03
3.4421e+03
3.3931e+03
3.1366e+03
3.7441e+03
txt=
      日期         销量
2015/2/28
2015/2/27
2015/2/26
2015/2/25
2015/2/24
2015/2/23
2015/2/22
raw=
日期销量
2015/2/282.6182e+03
2015/2/272.6084e+03
2015/2/262.6519e+03
2015/2/253.4421e+03
2015/2/243.3931e+03
2015/2/233.1366e+03
注:txt和raw输出的每一个细胞单元都带单引号。
    一般我们进行的数据分析都是同时对数值和字符进行处理的,本人建议利用num作数据预处理,然后用经过缺失和异常数据插补的raw来生成新的Excel表格,再利用新的Excel表格作下一步的工作即可。
    祝愿大家玩熟xlsread,千万别像我一样卡在Excel数据读取上了,嘻嘻。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值