【问题标题】:Replace nth line in a text file替换文本文件中的第 n 行
【发布时间】:2012-08-01 09:26:34
【问题描述】:

如何在 R 中替换文本文件的第 n 行?

【问题讨论】:

  • 你看过帮助(readLines)吗?
  • 欢迎来到 Stack Overflow!对于默默投反对票的人:这是summer of love,所以我建议您做以下几件事之一:1)解释为什么投反对票,2)向 OP 解释如何改进问题 3)编辑问题一个好问题。
  • 感谢您的解释。我看过 readLines 但我不知道 writeLines。
  • @Simanner:我建议您始终阅读帮助页面的“另请参阅”部分。如果您阅读了?readLines 的“另请参阅”部分,您就会看到writeLines

标签: r file-manipulation


【解决方案1】:

替换第三行:

$ cat junk.txt
sic transit
gloria mundi
temeo danoas
et dona ferentes

这样做:

> latin = readLines("junk.txt",-1)
> latin[3]="per ardua ad astra"
> writeLines(latin,"junkout.txt")

然后得到:

$ cat junkout.txt 
sic transit
gloria mundi
per ardua ad astra
et dona ferentes

您可以writeLines(latin,"junk.txt") 并根据需要覆盖输入文件。

【讨论】:

    【解决方案2】:

    我不知道是否可以选择更改流文件中的特定行(在文件中查找),尽管您可以选择读取文件、更改列并将帧写入文件,读、写函数为您提供所需。

    您也可以使用read.table()将文件读入表格格式,更改特定行然后write.table()

    您有read.csv()write.csv() 等选项以及readLines() 等许多其他选项。

    编辑

    这是file handling in R的维基链接

    【讨论】:

    • 发布答案时请小心。 R是区分大小写的,所以readlinesreadLines不一样,其实还有一个函数readline
    猜你喜欢
    • 2021-10-18
    • 2021-01-16
    • 2018-04-14
    • 2015-11-26
    • 2021-07-24
    • 2011-09-18
    • 1970-01-01
    • 2017-12-20
    • 2013-08-30
    相关资源
    最近更新 更多