在R语言数据管理(三):数据读写一博文中,我曾写到有关读取xls、xlsx文件时一般将文档改成csv文件读取,这是一般做法。csv文件也有其缺点,修改较为麻烦,当文件数据较大时尤为明显。而生活中必不可少的会出现xls文件,例如时间序列有关文件,且常常数据量较大。读取xls类文件,我想还是有必要学一下。
一般使用RODBC包来访问Excel文件,现在我们读取mydata.xls文件中第一个工作表中的数据,格式如下:
library("RODBC")
channel<-odbcConnectExcel("mydata.xls")
mydataframe<-sqlFetch(channel,"Sheet1")
close(channel) # 或者写成 odbcClose(channel)
注:
mydata.xls是我的数据文件;
Sheet1是指工作簿中第一个工作表;
channel 是一个由odbcConnectExcel()返回的RODBC连接对象;
mydataframe是返回的数据框;
第二行中odbcConnectExcel一般不写成odbcConnectExcel2007,会出现下面错误:
并且,此函数只能在32位R Gui下运行!!!
2016.9.9
另外,向R中导入数据的权威指南参见可在http://cran.r-project.org/doc/manuals/R-data.pdf下载的R Data Import/Export手册,此手册对应的中译名为《R数据的导入和导出》,可在网上找到。