通过r中的应用程序处理多个文件

通过r中的应用程序处理多个文件,r,R,我正在通过使用R的应用程序处理文件。该应用程序需要一个简单的inputfile、outputfilename规范作为参数。使用下面的代码,这可以正常工作 input <- "\"7374.txt\"" output <- "\"7374_cleaned.txt\"" system2("DataCleaner", args = c(input, output)) input显然,我不能测试它,因为我没有你的DataCleaner程序,但是这个怎么样 # make some fil

我正在通过使用R的应用程序处理文件。该应用程序需要一个简单的inputfile、outputfilename规范作为参数。使用下面的代码,这可以正常工作

input <- "\"7374.txt\"" 
output <- "\"7374_cleaned.txt\""

system2("DataCleaner", args = c(input, output))

input显然,我不能测试它,因为我没有你的
DataCleaner
程序,但是这个怎么样

# make some files
dir.create('folder')
x = sapply(seq_along(1:5), function(f) {t = tempfile(tmpdir = 'folder', fileext = '.txt'); file.create(t); t})

# find the files
inputfiles = list.files(path = 'folder', pattern = 'txt', full.names = T)
# remove the extension
base = tools::file_path_sans_ext(inputfiles)
# make the output file names
outputfiles = paste0(base, '_cleaned.txt')

mysystem <- function(input, output) {
    system2('DataCleaner', args = c(input, output))
}

lapply(seq_along(1:length(inputfiles)), function(f) mysystem(inputfiles[f], outputfiles[f]))
#制作一些文件
目录创建('文件夹')
x=sapply(seq_-along(1:5),函数(f){t=tempfile(tmpdir='folder',fileext='.txt');file.create(t);t})
#查找文件
inputfiles=list.files(路径='folder',模式='txt',全名=T)
#拆下延长件
基本=工具::文件路径无外部(输入文件)
#生成输出文件名
outputfiles=paste0(基本“_cleaned.txt”)

mysystem感谢您的回复@awchisholm。inputfiles/outputfiles看起来是正确的,并且没有产生任何错误消息。但是,应用程序无法执行,并且没有生成输出文件。最后一行代码在控制台上生成以下内容:;我也不知道127指的是什么。应用程序只需提取.txt中的“正确”行,并将这些行保存到新文件中。由于没有您的环境,因此无法运行。例如,它是Mac、Linux还是Windows?建议您制作一个简单的程序,接受第一个参数,并使用第二个参数的名称制作一个副本。如果由于
system2
命令而出现问题,我建议提出另一个问题,以遵守“一问一答”规则。这是一个windows环境。这是一个公平的观点,我会这么做。我会看看我是否能同时得到源代码。我可以确认代码确实在@awchisholm工作。我正在执行的应用程序不知何故被重命名了,一旦更正,它就可以正常工作了
# make some files
dir.create('folder')
x = sapply(seq_along(1:5), function(f) {t = tempfile(tmpdir = 'folder', fileext = '.txt'); file.create(t); t})

# find the files
inputfiles = list.files(path = 'folder', pattern = 'txt', full.names = T)
# remove the extension
base = tools::file_path_sans_ext(inputfiles)
# make the output file names
outputfiles = paste0(base, '_cleaned.txt')

mysystem <- function(input, output) {
    system2('DataCleaner', args = c(input, output))
}

lapply(seq_along(1:length(inputfiles)), function(f) mysystem(inputfiles[f], outputfiles[f]))