如何使用 R 在多个现有 csv 文件中添加新行?

How to add a new line in multiple existing csv files using R?

我想将多个 csv 文件读入 R,但 csv 文件没有换行符。 当我尝试读取 csv 文件时,我收到此错误消息“文件必须以换行符结尾”,因此为了修复单个 csv 文件的错误,此代码可以正常工作:

# Add blank row
blank <- ""

# csv file name
csv_name <- "testfile.csv"

# writing row in the csv file
write.table(blank, file = csv_name, sep = ";",
            append = TRUE, quote = FALSE,
            col.names = FALSE, row.names = FALSE)

但是当我有多个 csv 文件(在同一个文件夹中)并且所有文件都有相同的问题时,我不知道如何缩放它:它们没有以新行结尾。我试过但未能找到编写循环或使用 purrr 映射函数的好方法。非常感谢您的建议!

如果你真的想使用 R 来完成这个任务,你可以使用

my_path <- "."

my_csv_list <- list.files(path = my_path, pattern = ".csv$")

blank <- ""

for (file in my_csv_list) {
  write.table(blank, file = file, sep = ";",
              append = TRUE, quote = FALSE,
              col.names = FALSE, row.names = FALSE)
}

或代替 for-循环

sapply(my_csv_list, 
       function(file) 
         write.table(blank, file = file, sep = ";",
                     append = TRUE, quote = FALSE,
                     col.names = FALSE, row.names = FALSE))

只需将 my_path 设置为包含您的 .csv 文件的路径。 file.path 可能对此有用。