0
可能是一個非常簡單的答案,但我很難在一個循環中將一堆.txt文件轉換爲.csv文件。我不想合併或追加它們,只需將71個單獨的.txt文件轉換爲71個單獨的.csv文件即可。Loop:將單個目錄中的許多.txt文件轉換爲.csv文件[使用R]
我在盡我所能來指代採用這種方法的線程我的代碼的其他問題: create a loop: convert .txt to .csv in R
我正在適應它,這是我到目前爲止有:
filelist = list.files(pattern = ".txt")
for (i in 1:length(filelist)) {
cur.input.file <- filelist[i]
cur.output.file <- paste0(cur.input.file, ".csv")
print(paste("Processing the file:", cur.input.file))
# If the input file has less than 11 rows you will reveive the error message:
# "Error in read.table: no lines available in input")
data = read.delim(cur.input.file, header = TRUE)
write.table(data, file=cur.output.file, sep=",", col.names=TRUE, row.names=FALSE)
}
然而,我的結果出來了:
[1] "Processing the file: filename1.txt.txt"
[1] "Processing the file: filename2.txt.txt"
[1] "Processing the file: filename3.txt.txt"
[1] "Processing the file: filename4.txt.txt"
[1] "Processing the file: filename5.txt.txt"
和格式都搞砸了。
任何意見/我做錯了什麼?
歡呼聲,謝謝。
也許'子(模式= 「\\。TXT $」,更換= 「.csv」 文件,X = X)的'而不是你的'糊()'爲書面文件名稱。我們希望刪除舊的擴展名,並用'.csv'替換而不插入空格。 – Gregor
謝謝,改變了我的答案! – Sumedh
感謝Sumedh和Gregor!您的評論的組合完美地工作。 –