簡體   English   中英

省略 txt 文件的最后一個行尾字符(R 中的 write.table)

[英]Omitting the final end-of-line character for txt file (write.table in R)

我有一個簡單的 data.frame,我想使用 R 將其寫入 output.txt 文件。

示例代碼:

my_df <- data.frame(name = c("Wendy", "Quinn"), age = c(23, 43))
write.table(my_df, file = "my_output_file.txt", sep = " ", col.names = F, row.names = F, quote = F, eol = "\n")

問題是我在 Notepad++ 中查看時得到以下 output 文件(見截圖)。 我知道 eol = "\n" 參數在每行的末尾放置一個回車符——我想要這兩行之間的行分隔,但不是在文檔的末尾。 有沒有一種方法可以省略導致 my.txt 文件長度為 3 行而不是只有 2 行的最終回車?

Notepad++ .txt 文件輸出截圖

我不知道自動的方法,但試試這個:

my_df <- data.frame(name = c("Wendy", "Quinn"), age = c(23, 43))
write.table(my_df, file = "my_output_file.txt", sep = " ", col.names = F, row.names = F, quote = F, eol = "\n")

產生相同的 output:

記事本加上“CR LF”和一個空行

但是這個

my_output <- capture.output(write.table(my_df, sep = " ", col.names = F, row.names = F, quote = F, eol = "\n"))
writeBin(paste(my_output, collapse = "\n"), "my_output_file2.txt")

產生這個:

記事本加加一個“LF”並且沒有后面的空行

你可以寫 object 減去最后一行,然后 append 它沒有行尾。

write.table(my_df[1:(nrow(my_df)-1),], file = "my_output_file.txt", 
  sep = " ", col.names = F, row.names = F, quote = F, eol = "\n")
write.table(my_df[nrow(my_df),], file = "my_output_file.txt", 
  sep = " ", col.names = F, row.names = F, quote = F, eol = "", append=T)

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM