使用双管分隔符读取大文本文件

时间:2014-10-20 17:47:44

标签: r text import delimiter

使用R,我试图用||读取一个大的(1.3 g)文本文件双管分隔符。具体来说,它看起来像这样:

||Header1||,||header2||,||Header3||
||0.001||,||0.002||,||0.003||

我在here描述的fread功能方面取得了成功。但是,该函数不允许具有多于1个字符的分隔符。因此,当我设置sep =" auto"时,我会得到具有正确值的单元格,但它们具有" ||"在双方。

我会在文本编辑器中进行查找和替换以更改" ||" to",",但它太大而无法在合理的时间内完成。

你的帮助是一个救命的人。谢谢!

1 个答案:

答案 0 :(得分:1)

那些看起来不是分隔符,但也许它们是,我只是不知道它。无论哪种方式,不是将||更改为,,而是可以简单地删除它们,然后可以将生成的矢量放入read.csv的数据框中。

在下面g的代码中,将textConnection(txt)替换为您的文件名。

txt <- "||Header1||,||header2||,||Header3||
||0.001||,||0.002||,||0.003||"
g <- gsub("||", "", readLines(textConnection(txt)), fixed=TRUE)
read.csv(text = g)
#   Header1 header2 Header3
# 1   0.001   0.002   0.003