R 只读xls中的某些列

R 只读xls中的某些列,r,xls,R,Xls,我有一个excel电子表格和几张表格。格式如下: 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

我有一个excel电子表格和几张表格。格式如下:

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日期和A-F读入一个数据框,忽略J1,2、K1,2和L,1,2中用于计算某些值的元素

我正在使用gdata包中的read.xls

read.xls(“filename.xls”,“sheetname”,na.strings=c(“na”,“DIV/0!”))


然而,这给了我一个包含列a-L的数据帧。我可以将该数据帧重新转换为所需的格式,但更愿意选择要读取的列。我可以用read.xls实现这一点吗?与read.table实现这一点的方式类似()

您可以使用library
XLConnect
来读取.xls文件。函数
readsheet()
用于设置需要导入的列和行

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

wb另一个选项是使用
Excel命名范围
RODBC

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

channel使用
readxl
包使用
read\u xlsx
可以指定范围。根据文件类型,使用read_xls或read_excel

library(readxl)
df <- read_xlsx(path = "filename.xlsx", sheet = "sheetname", range = cell_cols("A:G"))
库(readxl)

df读取和子集将是最少的工作量,对于较小的数据集(<200 mb csv)也可以正常工作。由于您指定的是整个列,所以range命令将覆盖路径中的其他命令,如skip。需要使用手机吗_rows@EDennnis对的然而,我更愿意建议
range=cell\u limits(c(1,1),c(NA,7))
将skip与某些列结合起来。例如,这将导入从第1列到第7列的所有行。有关详细信息,请参见
?`cell specification`