使用Repeat循环保存CSV文件

时间:2015-12-31 14:44:55

标签: r

我正在阅读名为" 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
  }
}

1 个答案:

答案 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}}