r - 在 R 中将 .txt 更改为 .csv

标签 r string csv export-to-csv

我已经能够在 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 :

output <- paste0(gsub("\\.txt$", "", input), ".csv")

反斜杠将点标记为文字点(如果未标记,它在正则表达式中还有其他含义)。反斜杠必须加倍,因为 R 试图逃避单个反斜杠。美元符号代表字符串的结尾,因此只有文件名末尾的“.txt”被删除。

关于r - 在 R 中将 .txt 更改为 .csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39023058/

相关文章:

r - 将Y轴放在热图的左侧?

python - CSV 编写器在单独的列中显示每个字符

r - 如何将列表的元素合并到数据框中?在 R

r - 哪个 R 函数用于文本自动更正?

python - 模糊字符串与词项权重匹配

c - 打印字符串数组行时出现段错误,逐个字符打印时工作正常

java - 如何将由管道符号分隔的txt文件转换为Java中的xls文件

python - 在Python csv模块中使用多个字符时出错

r - 计算R中向量中重复数字序列的长度

python - 如何从字符串中提取 float