将.R文件批量转换为文本文件

时间:2018-07-27 15:36:09

标签: r rstudio file-conversion

我大约需要将56个.R文件转换为.txt格式。不,不是R对象,不是数据帧。但是R File本身,我需要转换为文本格式。

是否有用于处理许多文件的软件包或方法?还是一个接一个地做的唯一选择。

2 个答案:

答案 0 :(得分:1)

Base R方法:

# get list of .R files in current directory
my_r_files <- list.files(pattern = "*\\.R$")

# specify new name for each file
new_file_names <- sub(pattern="\\.R$", replacement=".txt", x=my_r_files)

# rename files
file.rename(from = my_r_files, to = new_file_names)

答案 1 :(得分:0)

借助tools::file_path_sans_ext(),此功能会将所有 *。R 文件复制到具有相同前缀的 *。txt 文件中,同时保留原始文件* .R文件。

r2txt <- function(dir=getwd()) {
  lapply(list.files(pattern="\\.R$"), 
       function(x) {
         txt <- scan(x, "character")
         writeLines(txt, paste0(tools::file_path_sans_ext(x), ".txt"))
       })
}

用法

r2txt("X:/<desiredDir>/")

只需r2txt()复制转换工作目录(getwd())中的所有此类文件。