首页 > 解决方案 > 如何创建一个 for 循环来使用 R 打开、变异和保存 .csv 文件?

问题描述

我有几个 .csv 文件必须重新格式化并使用 R 脚本再次保存。进行文件更改和重新格式化所需的功能已经建立并且可以正常工作。但是由于总是有很多文档要更改,我希望有一个 for lLoop,这样我就不必为每个文档调整我的代码。但不幸的是,到目前为止,我还没有使用 R 使用循环的经验。

我的代码现在看起来像这样:

setwd("C:/users/Desktop/Raw/.")
df <- read.csv("A1.csv", sep= ",")
new_df <- wrap_frame(df, nr = 61, rownames = "", unique_names = FALSE)
write.csv(new_df, "C:/users/Desktop/Data/A1.csv", row.names = FALSE)

原始 .csv 文件始终以相同的方式调用,其中一个字母(A 到 Z)后跟一个 1 到 12 的数字。要更改的 .csv 文件的数量可能会适应。但他们的名字总是遵循上述规则。

如果有人可以帮助我解决这个问题,我将不胜感激!

标签: rcsvfor-loopsave

解决方案


试用:

# vector of file names
my.files <- paste0(c(outer(LETTERS, 1:12, FUN = "paste0")),
                   ".csv")
# for loop
for (i in seq_along(my.files)) {
        df <- read.csv(my.files[i], sep= ",") # open
        new_df <- wrap_frame(df, nr = 61, rownames = "", unique_names = FALSE) # mutate
        write.csv(new_df, paste0("C:/users/Desktop/Data/", my.files[i]),
                  row.names = FALSE) # save
}

推荐阅读