将数据输出到r中各行的文本文件

时间:2014-08-04 04:05:10

标签: r cat readlines

我正在尝试在r中编写代码:

1.)读取文本文件中的每隔一行

2.)将这些行写入文本文件

我的代码执行这些操作,但问题是r是以连续格式将行写入文本文件,而不是像原始文本文件一样逐行编写。

这是我的代码:

test <- readLines("file_name.txt")
test <- test[seq(1, length(test), 2)] # reads every 2nd line
cat(test, file="E:/output_file_name.txt", sep = " ",append=TRUE)

在原始文件“file_name.txt”中,这些行是这样的:

"2013-05-30",15,30,55,95

"2013-05-31",27,97,77,88

"2013-06-01",50,99,81,82

我正在读取所有其他行,以便r将每隔一行输出到文本文件。 但问题是当我输出到标题为“output_file_name.txt”的文本文件时 文本文件的样子是:

"2013-05-30",15,30,55,95 "2013-06-01",50,99,81,82

但我需要的文本文件是:

"2013-05-30",15,30,55,95

"2013-06-01",50,99,81,82

原始文本文件太大,无法手动编辑。

请帮忙,

谢谢

2 个答案:

答案 0 :(得分:1)

只需使用paste0附加“\ n”来分隔行:

cat( paste0(test, "\n"), file="E:/output_file_name.txt", sep = " ",append=TRUE)

答案 1 :(得分:0)

我更喜欢write函数来写入文件。我认为这样做你想要的。

> txt <- '"2013-05-30",15,30,55,95
 "2013-05-31",27,97,77,88
 "2013-06-01",50,99,81,82'
> test <- readLines(textConnection(txt))
> test <- test[seq(1, length(test), 2)]
> writeLines(test, sep = "\n") ## with  file = "filename" to write to file
"2013-05-30",15,30,55,95
"2013-06-01",50,99,81,82

你需要的只是sep = "\n"。或者你可以在每个字符串的末尾插入"\n",但这太过分了。