[英]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 行的最终回车?
我不知道自动的方法,但试试这个:
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:
但是这个
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")
产生这个:
你可以写 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.