循环读取read.xlsx以读取多张纸并将它们另存为单独的DF

时间:2019-06-20 09:14:11

标签: r loops for-loop google-sheets readxl

我想阅读我的excel文件的第3:8页,并分别保存。

我有这样的东西:

XXXRepository

2 个答案:

答案 0 :(得分:1)

我猜您想将5张纸保存为单独的数据框,并将其命名为Year2012,Year2013 .... Year2017。

创建一个空列表并将其作为元素读取。相应地命名这些元素,然后取消列表以获取单独的数据框

library(openxlsx)

x=list()

for(i in 3: 8){
x[[i]]=read.xlsx("check.xlsx",sheet = i,colNames = T)
}

names(x)=paste0("Year",c(2012:2017))
list2env(x,envir=.GlobalEnv)

答案 1 :(得分:0)

setwd("your directory to excel ")

library(readxl)

data="Kriminalität.xlsx" # your excel name

n=8 #number of the sheets in your excel

for (i in 3:n){ 
 y=paste("sheet",i,sep="") 
  assign(y, read_xlsx(data, sheet = i ,skip = 4))
}

for (i in 3:n)部分中,您可以定义要读取的图纸,例如for (i in 3:8)表示将sheet3读取到sheet8

具有3张for (i in 1:3)的excel的结果:

results for a excel with 3 sheets