【问题标题】:Reading large text file with double pipe delimiters使用双管道分隔符读取大型文本文件
【发布时间】:2014-12-15 19:08:31
【问题描述】:

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

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

我使用here 描述的 fread 函数在速度方面取得了成功。但是,该函数不允许使用超过 1 个字符的分隔符。因此,当我设置 sep="auto" 时,我会得到具有正确值的单元格,但它们具有“||”两边。

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

您的帮助可以挽救生命。谢谢!

【问题讨论】:

  • 我已经编辑了我的答案。希望有效

标签: r text import delimiter


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 2018-05-16
    • 2015-07-07
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多