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

菲尔·罗伯茨

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

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

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

但是,我希望处理一个.txt文件文件夹,而不是分别处理每个。如果我可以访问源代码,则只需更改应用程序即可接受文件夹,而不是单个文件,但不幸的是我没有。有可能以某种方式在R中执行此操作吗?我曾尝试开始创建一个循环,

input <-  dir(pattern=".txt")

但是我不知道如何在不包含正则表达式的情况下将向量作为参数插入?另外我还需要能够将'_cleaned'粘贴到输出文件名的末尾?提前谢谢了。

安德鲁·奇斯霍尔姆

显然,我无法测试它,因为我没有您的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]))

它用于lapply遍历输入和输出文件的所有成员,并调用system2函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当通过在android中刷卡杀死应用程序时,如何处理代码?

通过iOS11文件应用程序在应用程序中导入多个文件

在C#应用程序中,我的线程无法使用多个处理器组

通过iOS锁定屏幕在应用程序中自定义远程事件处理

电子应用程序。多个html文件

Swift,Xcode,iOS-如何处理通过“在...中打开”从另一个应用程序发送到我自己的应用程序的文件

我的iOS应用程序无法处理所有应用程序中的图像文件类型

在ReactJs应用程序中处理onChange

在具有相似模型类型的单个应用程序中处理多个API

如何在应用程序中处理多个时区?

Java应用程序中的线程处理

如何通过批处理文件启动UWP应用程序?

处理应用程序:openURL:sourceApplication:在iOS应用程序中打开文件

如何在ASP.NET Core中处理多个SPA应用程序

如何在批处理文件中退出多个应用程序?

使用批处理文件填写exe控制台应用程序的多个输入

如何在android中处理多个应用程序类

处理默认iOS应用程序中的本地文件

多个模型文件或多个应用程序?

使用批处理文件运行多个控制台应用程序

Azure Web应用程序中的多个应用程序

混合应用程序:通过本机(本地)文件在WebView中运行Web应用程序

允许通过应用程序只读文件

elixir 伞形应用程序中如何处理多个应用程序配置文件

在终端上为通过 C++ 中的 exec 启动的应用程序处理用户输入

闪亮:通过批处理文件启动应用程序时编码/特殊字符的问题

如何在不冻结应用程序的情况下在 C# 桌面应用程序中快速处理多个文件

在rails应用程序中从多个模型创建pdf文件

多个应用程序的 docker 文件?