2013-03-08 75 views
2

我有一个带有几张工作表的excel电子表格。的格式如下:只阅读xls的某些专栏

Date  A  B  C  D  E  F      Reference Ref Date Half life 
03/01/13 6.29 5.28 8.15 4.93 11.67 6.4      8.88  01/01/99 30.23 
04/01/13 6.39 5.39 8.22 5.04 11.75 6.4     
07/01/13 6.34 5.32 8.17 4.92 11.82 6.4     
08/01/13 6.33 5.3 8.16 4.96 11.68 6.4     
09/01/13 6.29 5.29 8.13 4.93 11.73 6.4     
10/01/13 6.29 5.32 8.17 4.95 11.61 6.4     
11/01/13 6.21 5.27 8.12 4.95 11.57 6.4     
14/01/13 6.28 5.28 8.09 4.92 11.65 6.4     
15/01/13 6.25 5.26 8.06 4.9 11.59 6.4     
16/01/13 6.26 5.3 8.08 4.94 11.7 6.4     
17/01/13 6.27 5.27 8.09 4.96 11.57 6.4     
18/01/13 6.29 5.27 8.04 4.94 11.57 6.4     
21/01/13 6.34 5.33 8.23 4.99 11.68 6.4     
22/01/13 6.31 5.34 8.23 4.97 11.63 6.4     
23/01/13 6.24 5.26 8.03 4.93 11.58 6.4     
24/01/13 6.24 5.27 8.03 4.93 11.56 6.4     
25/01/13 6.26 5.3 8.08 4.93 11.6 6.4 

我想读取colmuns日期和AF只成数据帧,并忽略其用于计算在J1,2,系数k1,2和L,1,2的元素一些价值。

我使用read.xls从包装GDATA

read.xls("filename.xls", "sheetname", na.strings=c("NA","#DIV/0!"))

但是这给了我包含列的数据帧A - L.我可以重铸这个数据帧所需的格式,但宁愿选择要读取的列。可以使用read.xls以类似的方式执行此操作,read.table可以实现此目的(Ways to read only select columns from a file into R? (A happy medium between `read.table` and `scan`?)

+0

阅读和子集处理工作量最少,对于较小的数据集(<200 mb csv)工作正常。 – 2013-03-08 16:45:52

回答

9

可以使用库XLConnect读取.xls文件。功能readWorksheet()可让您设置需要导入的列和行。

library(XLConnect) 
wb<-loadWorkbook("wb.xls") 
data <- readWorksheet(wb, sheet = "Sheet1",startCol=1,endCol=7) 
1

另一种选择是使用是使用Excel named rangeRODBC

channel<-odbcConnectExcel(paste(Repository,excelFile, sep = "/")) 
ConsoTab<-sqlFetch(channel,NamesRangeAF) 
odbcClose(channel) 

这里NamesRangeAF是你的Excel命名的范围。