在R的文件中给定位置写一行文本

时间:2019-06-28 12:41:35

标签: r file

我想通过避免顺序读取在给定位置(i)的文本文件中写一行。 有WriteLines基本函数,但我不知道如何在作为参数给定的位置(i)插入文本。

谢谢

戴夫

1 个答案:

答案 0 :(得分:1)

-与R无关-从根本上讲是不可能的。大多数(所有通用)文件系统都不支持在文件中间插入或删除内容。唯一受支持的操作是在末尾附加(或截断),R仅支持附加而不是截断。

几乎所有软件都可以解决您问题的方法是读取文件,对其进行修改并将其写回到磁盘。如果由于文件很大(至少数百MiB的数量级)而想看上一眼,则可以流式编辑文件:读取一部分,编辑该部分,然后将其写回到新文件中。冲洗并重复。


除技术外:低级文件操作对上述情况有一个例外,因为文件存储为非连续的“块” 。但是,即使R支持此功能,也不会帮助您,因为它不允许字节级或行级粒度:块的大小通常至少为4 kiB。