【发布时间】:2020-01-28 15:27:10
【问题描述】:
这里是新鲜的生菜,所以不要笑我的问题:
假设我有一个包含 40 个单独的 .txt 文件的文件夹,我想将它们转换为 .csv 格式。 拥有最终产品:一个包含 40 个单独 .csv 文件的新文件夹。
我已经看到发布了类似的问题及其代码,但是代码确实运行了,但 .csv 文件与原始 .txt 文件完全不同:所有数据都被打乱了。
因为我想保留标题,并且我想读取 .txt 文件中的所有数据/行。我对代码进行了一些外观上的更改,但仍然没有运行并返回警告“文件错误(文件,“rt”):无法打开连接 另外:警告信息: 在文件(文件,“rt”)中: 无法在训练患者 ctrl_S1018263__3S_TNFaCHx_333nM+0-1ugml_none.txt 中打开文件“C:/Users/mli/Desktop/All TNFa controls”:无效参数”
我的代码如下:
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])
}
【问题讨论】:
-
尝试在
directory和ndirectoy的末尾添加“/”。从错误来看,这里似乎缺少“/”:'C:/Users/mli/Desktop/All TNFa controls in the training patients ****missing slash*****ctrl_S1018263__3S_TNFaCHx_333nM+0-1ugml_none.txt':无效的论点。类似directory <- "C:/Users/mli/Desktop/All TNFa controls in the training patients/" -
错误在您使用的粘贴中。在第 4 行和第 5 行设置
sep='/'而不是'\t'或','。粘贴是对路径名的修改。 -
为了避免不必要的麻烦,不要在文件夹名或文件名中使用空格或特殊字符。如果必须使用下划线“_”(不是破折号“-”或点“.”)
-
对不起,我试过了。该代码仍然无法运行,并且报告了相同的错误消息。而且我认为 / 是否有错误消息警告。不知何故,我的复制粘贴错过了它。
-
@ML33M: 也可以看看
vroom包的速度和多功能性stackoverflow.com/questions/3397885/…
标签: r csv preprocessor file-format