使用循环将.txt文件转换为目录中的.CSV文件

问题描述 投票:0回答:1

这里的新鲜生菜,所以不要嘲笑我的问题:

说我有一个包含40个单独的.txt文件的文件夹,我想将它们转换为.csv格式。要拥有最终产品:具有40个单独的.csv文件的新文件夹。

我已经看到类似的问题及其代码,但是代码确实可以运行,但是.csv文件与原始的.txt文件完全不同:所有数据都已被加密。

因为我想保留标题,并且我想读取.txt文件中的所有数据/行。我对代码进行了一些外观上的更改,但仍未运行,并返回警告“文件错误(文件,“ rt”):无法打开连接另外:警告消息:在file(file,“ rt”)中:无法打开文件“ C:/ Users / mli / Desktop /受训患者中的所有TNFa控件ctrl_S1018263__3S_TNFaCHx_333nM + 0-1ugml_none.txt”:无效的参数”

我的代码如下:

directory <- "C:/Users/mli/Desktop/All TNFa controls in the training patients"
ndirectory <- "C:/Users/mli/Desktop/All TNFa controls in the training patients/CSV"
file_name <- list.files(directory, pattern = ".txt")
files.to.read <- paste(directory, file_name, sep="\t") 
files.to.write <- paste(ndirectory, paste0(sub(".txt","", file_name),".csv"), sep=",")
for (i in 1:length(files.to.read)) {
  temp <- (read.csv(files.to.read[i], sep="\t", header = T))
  write.csv(temp, file = files.to.write[i])
}
r csv preprocessor file-format
1个回答
0
投票

[在路径的第4行和第5行粘贴文件名时,请使用/在字符串中获取新路径。 sep值是函数将多个字符串粘贴在一起时将放置的值。

> paste('hello','world',sep=" ")
[1] "hello world"

> paste('hello','world',sep="_")
[1] "hello_world"

这与sep中需要的read.csv值不同,该值定义了csv文件每一列之间的字符。

© www.soinside.com 2019 - 2024. All rights reserved.