在R中将文件扩展名添加到多个文件中

时间:2014-09-26 23:26:17

标签: r

我想添加" .txt"文件扩展名为多个文件,没有当前扩展名。我可以使用下面的代码创建一个包含文件路径的向量,但我不知道如何添加" .txt"文件扩展名:

startingDir <-"/myDirectory"
filez<-list.files(startingDir)
head(filez)
[1] "/myDirectory/File1"
[2] "/myDirectory/File2"
[3] "/myDirectory/File3"

3 个答案:

答案 0 :(得分:3)

尝试paste(filez ,".txt", sep="")
你应该追加&#34; .txt&#34;到列表中的所有元素

答案 1 :(得分:3)

如果你已经知道这些文件没有扩展名,只需要添加它们,那么sub就可以了。

f <- c('/myDirectory/File1', '/myDirectory/File2', '/myDirectory/File3')
f <- sub('$', '.txt', f)
# [1] "/myDirectory/File1.txt" "/myDirectory/File2.txt" "/myDirectory/File3.txt"

但如果您需要进行健全性检查,我会提出类似以下内容的建议。这将检查哪些文件实际上有扩展名,如果没有,则.txt将附加到这些文件。

f <- c('/myDirectory/File1', '/myDirectory/File2', '/myDirectory/File3.csv')
f <- ifelse(!grepl('\\.[^.]+$', f), paste0(f, '.txt'), f)
# [1] "/myDirectory/File1.txt" "/myDirectory/File2.txt" "/myDirectory/File3.csv"

答案 2 :(得分:2)

您也可以使用sprintf

x <- c("/myDirectory/File1", "/myDirectory/File2", "/myDirectory/File3")
sprintf("%s.txt", x)
# [1] "/myDirectory/File1.txt" "/myDirectory/File2.txt" "/myDirectory/File3.txt"