R语言读取excel中的子文件?R语言读取excel文件文件其实有很多的包可以做到,最常用的就是xlsx和readxl, 首先,安装并载入读取excel文件所用的包:install.packages("xlsx") library(xlsx)或者,那么,R语言读取excel中的子文件?一起来了解一下吧。
#64位机下,.xls和.xlsx文宏芹件用相蔽仔毕同方法
library(RODBC)
con <- odbcConnectExcel2007("D:/R/RODBC.xlsx") #64位机下方法
sqlTables(con) #查看该xlsx文件中有哪些表
# TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
# 1 D:\\R\\RODBC.xlsx
# 2 D:\\R\\RODBC.xlsx
# 3 D:\\R\\RODBC.xlsx
table_test <- sqlFetch(con,"销售戚卖信息")
table_test
odbcClose(con)
一、 安装RODBC库
1、进入R语言的GUI界面(RGUI.EXE),在菜单栏选择“程序包/安装程序包
2、纤薯在弹出的窗口里往下拉,选择RODBC点击确定
3、在ODBC数据源管理器里将需要的数据库添加进去,这里笔者使用的是SQL Server2008,驱动程序选择Native Client10.0
3、在R语纳竖源言窗口输入连洞态接语句
由于Excel文件都是通过DDE的方式打开的,如果在选项中设置了“忽略其他应用程序”,则Excel会忽略掉其他应用程序的DDE请求,所以当你通过资源浏览器来打开Excel文件时,Excel并不会执行打开命令。恢复设置的方法是:
1、在Excel2003中双击不能打开渣如文件:
打开“”-“选项”-“常规”-“设置”,看到“忽略其他应用程序”前打了勾,取消这个选择,按“确定”,关闭Excel,双击Excel文件,顺利打开。
2、在Excel2007及以上版本中双击不能打开文件:
点击Excel 2007 菜单,选择Excel选项--高级---常规, 把“忽略使用动态数据交换(DDE)的其他应用程序”此处的勾去掉,关闭Excel,双击Excel文件,顺利打开。
附:DDE简要说明
DDE就是“动态数据传输”,主要用在两个EXE程序之间传送数据。
比如:a.exe运行过程中要调用b.exe程配哪序,但要告如卖启诉B从哪里开始运行,B从A处得到数据,再判断数据,就知道怎么运行了。
R语言读取excel文件文件其实有很多的包可以做到,最常用的就是xlsx和readxl, 首先,安装并载入读取excel文件所用的包:
install.packages("xlsx") library(xlsx)
或者,
install.packages("readxl") library(readxl)
两个包的基本介绍
xlsx是用R把excel文件中的工作表以data.frame的格式读入R语言,他有两个常用函数,其中read.xlsx2通常会比read.xlsx读取的速度更快一些,因为它的好多工作是利用Java完成的,所以速度有所提升,但是在读取子数据集的时候没有read.xlsx稳定性好。
read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL, startRow=NULL, endRow=NULL, colIndex=NULL, as.data.frame=TRUE, header=TRUE, colClasses=NA, keepFormulas=FALSE, encoding="unknown", ...)
read.xlsx2(file, sheetIndex, sheetName=NULL, startRow=1, colIndex=NULL, endRow=NULL, as.data.frame=TRUE, header=TRUE, colClasses="character", ...)
注:
sheetIndex:工作表单号
rowIndex:行号,就是你想读取那些行
header:表头,就是有没有列名。
sheet.index<-1:2#要读的sheet的indexlibrary(xlsx)
data.list<-list()
for(iin型咐sheet.index)
慧租埋data.list[[i]]<-read.xlsx("your_file.xlsx",sheetIndex=i)
用sheet的名字也可前蚂以,方法差不多
以上就是R语言读取excel中的子文件的全部内容,1、进入R语言的GUI界面(RGUI.EXE),在菜单栏选择“程序包/安装程序包 2、在弹出的窗口里往下拉,选择RODBC点击确定 3、在ODBC数据源管理器里将需要的数据库添加进去,这里笔者使用的是SQL Server2008。