我正在尝试在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
原始文本文件太大,无法手动编辑。
请帮忙,
谢谢
答案 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"
,但这太过分了。