我正在阅读名为" REL"的Excel文件的每个工作表。使用下面给出的repeat
函数直到工作表4。但在阅读i
的每个值的工作表后,我想先将其保存在我的工作目录中,然后再阅读i + 1
。
i <- 1
repeat {
fcr <- read.xlsx("REL.xlsx", sheet = i, colNames = TRUE)
i <- i + 1
print(i)
if (i > 4) {
break
}
}
答案 0 :(得分:2)
将来请说明您在引用非基本功能时使用的软件包;大概这是来自read.xlsx
包的xlsx
。要将每个工作表保存为csv,您需要在读取文件后调用write.csv(...)
,然后在循环开始下一次迭代之前调用repeat
。但你不应该对sapply
等问题感到烦恼......如上所述。使用更像R的惯用语,例如library(xlsx)
##
list.files()
#[1] "REL.xlsx"
##
sapply(1:4, function(i) {
write.csv(
read.xlsx("REL.xlsx", sheetIndex = i, header = TRUE),
file = sprintf("WS%d.csv", i)
)
})
##
list.files()
#[1] "REL.xlsx" "WS1.csv" "WS2.csv" "WS3.csv" "WS4.csv"
:
{{1}}