首页 > 解决方案 > 循环 read.xlsx 以读取多张纸并将它们保存为单独的 DF

问题描述

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

我得到了这样的东西:

 for (y in 2012:2017){
     save("Year" ,y)<- for (i in 3:8)

{
   read_xlsx("/Users/.../Desktop/Kriminalität.xlsx", sheet = i , skip = 4)
}

标签: rloopsfor-loopgoogle-sheetsreadxl

解决方案


我猜您想将 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)

推荐阅读