将列添加到多个Excel文件并使用循环将其导出

问题描述

我需要使用R将一些空白列添加到多个Excel文件中,然后将它们导出到我的桌面。

我设法使代码可用于一个excel文件,但无法弄清楚如何对17到32之间的文件进行循环。

r17 <- read_excel("r17.xlsx")
write.csv(r17,file = "C:/Users/Dr Wani/DropBox/shazan/r17.csv")

解决方法

for (i in 17:32) {
  write.csv(read_excel(paste0("r",i,".xlsx")),file = paste0("C:/Users/Dr Wani/Dropbox/shazan/r",".csv"))
}
,

您可以将所有csv文件读入列表,然后将一些转换函数应用于列表元素(即数据帧)。然后,您使用另一个lapply

将调整后的文件写回到计算机上
files <- list.files(path = ".",pattern = "*.csv")

data <- lapply(files,read.csv,stringsAsFactors = FALSE)
names(data) <- basename(files)

# do some operation to your data using e.g. lapply

lapply(seq_len(length(data)),FUN = function(x) write.csv(data[[x]],file = names(data[x])))