【问题标题】:Modify a file with R at a given position在给定位置用 R 修改文件
【发布时间】:2016-01-27 06:31:36
【问题描述】:

如何在给定位置修改带有 R 的文本文件?

它不是表格,而是任何文件,例如 xml 文件。

例如,将第 7 列(到第 10 列)的第 122 行的内容替换为变量的内容,即“3.14”。

并更新文件。

想象那条线是

<name=0.32>

现在应该是

<name=3.14>

或者另一种选择,也许更容易。 查找所有出现的“Variable=”并更改接下来的 4 个字符。

【问题讨论】:

    标签: regex r text replace


    【解决方案1】:

    您必须读入整个文件,然后使用字符串操作。例如,

    f <- "file.xml"
    x <- readLines(f)
    x[122] <- paste0(substring(x[122], 1, 8), "3.14", substring(x[122], 13, nchar(x[122])))
    writeLines(x, f)
    

    我认为有一个更适合此的命令行工具。

    【讨论】:

    • 我想知道哪些命令更好,因为还有其他命令,例如扫描。我会尽力。谢谢
    • 可能是python,但我也不知道怎么弄
    • 效果很好,谢谢。我尝试用 R 来做,因为我还需要做更多的事情。现在我必须创建一个循环来尝试许多不同的随机值。无论如何,我需要在每一步调用(执行)一个 Windows 程序,该程序读取新文件。我不知道这是否可能。我会尝试使用 system("program with options")
    • @skan 是的,system() 是你想要的,或者shell()
    • @skan 是的,默认行为由 wait 参数控制。如果将其设置为 FALSE,R 将不会等待。如果为 TRUE,它将等待外部命令完成后再继续。
    猜你喜欢
    • 2018-07-10
    • 2011-07-08
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多