如何使用连接作为文件向文本文件添加行
Posted
技术标签:
【中文标题】如何使用连接作为文件向文本文件添加行【英文标题】:How to add lines to a textfile using connection as file 【发布时间】:2018-11-06 07:17:35 【问题描述】:在这篇文章中解释了如何将行写入文本文件:
Add lines to a file
虽然不能将连接用作文件。 因此无法运行此代码:
for (i in 1:10)
con <- file("en_US.twitter.txt", "r")
line <- readLines(con, i)
write(line,file="D:/myfile.txt",append=TRUE)
next
有没有办法克服这个问题?
谢谢!
【问题讨论】:
您是否希望con <- ...
行位于循环的外部?
@lefft 谢谢,我会试试这个。
【参考方案1】:
您只想连接两个文件吗?
txt1 <- "Lorem ipsum dolor amet polaroid hot chicken pork belly, mlkshk commodo \
typewriter excepteur. Meditation mixtape edison bulb ad venmo duis mollit \
veniam poke voluptate celiac everyday carry vape hot chicken ea."
txt2 <- "Incididunt copper mug direct trade hella taxidermy. Occupy chia in \
laborum subway tile cornhole XOXO echo park green juice try-hard sustainable. \
Put a bird on it bicycle rights hell of non chillwave blog slow-carb shoreditch \
organic ad waistcoat stumptown qui.\n"
write(txt1, "1.txt")
write(txt2, "2.txt")
# append 1.txt to 2.txt
li <- readLines("1.txt")
write(li, "2.txt", append=TRUE)
cat(readLines("2.txt"), sep="\n")
如果你只想附加前 n 行(在本例中为 2)行
write(txt1, "1.txt")
write(txt2, "2.txt")
li <- readLines("1.txt", 2)
write(li, "2.txt", append=TRUE)
cat(readLines("2.txt"), sep="\n")
仅附加特定的行号(在本例中为 1 和 3)
write(txt1, "1.txt")
write(txt2, "2.txt")
li <- readLines("1.txt")
write(li[c(1, 3)], "2.txt", append=TRUE)
cat(readLines("2.txt"), sep="\n")
【讨论】:
我的最终目标是将特定的行号从文件 twitter.txt 复制到 myfile.txt。这是为了从 twitter.txt 中制作子样本。readLines()
的输出只是一个字符向量。您可以像使用任何其他矢量一样选择元素。
比如其他什么向量?
请参阅here 了解 R 数据类型的介绍,here 了解更深入的讨论。
谢谢,我会尝试将您的答案整合到我的代码中。虽然我认为问题在于使用连接作为文件。 (另见原帖)以上是关于如何使用连接作为文件向文本文件添加行的主要内容,如果未能解决你的问题,请参考以下文章