【发布时间】:2016-12-25 16:06:44
【问题描述】:
我已经能够在 R 中创建一个代码,以使用将我的所有 .txt 文件批量格式化为 .csv 文件
setwd("~/Desktop/test/")
filelist = list.files(pattern = ".txt")
for (i in 1:length(filelist)){
input<-filelist[i]
output<-paste0(input, ".csv")
print(paste("Processing the file:", input))
data = read.delim(input, header = TRUE)
setwd("~/Desktop/test/done/")
write.table(data, file=output, sep=",", col.names=TRUE, row.names=FALSE)
setwd("~/Desktop/test/")
}
效果很好,但文件名称中仍保留 .txt 扩展名 示例原始文件 =“sample1.txt”,然后新文件显示为“sample1.txt.csv” 该文件作为 .csv 文件工作,但文件名中额外的“.txt”让我很烦,任何人都知道如何将其删除姓名? 谢谢
【问题讨论】:
-
您的原始文本文件也有额外的
.txt,如sample1.txt.txt。所以我猜你的input有sample1.txt.txt,然后通过代码它显示你sample1.txt.csv你输入的文件名有额外的.txt所以它也会出现在输出中,正如你在output中所说的那样paste0(input,'.csv') -
将
output<-paste0(input, ".csv")更改为output<-paste0(strsplit(input, '\\.')[[1]][1], ".csv")或类似的东西... -
@KarstenW.'s answer below is clean :)
标签: r string csv export-to-csv