2016-05-25 37 views

回答

0

我不確定文本文件的內容應該是什麼,但是如果文件有一個有效的註釋字符,我建議將它放在文件名前面。您可以使用readLineswrite的組合完成此操作。

首先,您需要閱讀readLines的文件內容。然後,您製作一個文件名稱的矢量,然後製作readLines的內容。然後,將該矢量寫回到它來自的文件。

說實話,最好把它寫到一個不同的文件裏,而不是改變你的源文件,但是我會留給你弄清楚你想如何管理它。下面的代碼使用臨時文件說明

#* Create a temporary file 
this_file <- tempfile("an_example_file", tmpdir = getwd(), fileext = ".txt") 

#* Populate the file with some text 
write(LETTERS, this_file) 

#* Here's the real start of the solution 
file_text <- readLines(this_file) 

write(
    paste0(
    c(sprintf("## %s \n\n", this_file), 
     file_text) 
), 
    this_file 
) 

#* see the changes 
readLines(this_file) 

#* cleanup 
file.remove(this_file) 
+0

感謝您的幫助和解釋的過程。這是針對生物學序列數據並修改一個程序的輸出以供其他程序導入。當我生成這些文件時,很容易正確命名這些文件,但很難手動編輯這些文件,並且以後要用其他程序讀取正確的第一行文本。我的文件沒有有效的註釋字符。你沒有改變源代碼是正確的,但我只是將一些副本放在不同的目錄中並在那裏修改它們。 –

+0

@DanK您應該創建一個列表,然後爲列表中的項目指定文件的名稱。不要因爲認爲你需要編寫將剝離文件中的行或者使用for循環操作的重複結構的代碼而陷入「SAS路徑」。 –

0
filename <- 'whatever.txt' 
file.text <- readLines(filename) 
file.text <- c(filename, file.text) # adds filename to beginning of file.text 
fileConn<-file(filename) 
writeLines(file.text, fileConn) 
close(fileConn) 
+0

謝謝,它粘貼整個路徑,但我可以用這個工作。 –

相關問題