代码之家  ›  专栏  ›  技术社区  ›  user1631306

在r中高效读取不同格式的文件

r
  •  0
  • user1631306  · 技术社区  · 9 年前

    我有以下格式的文件

    *NEWRECORD
    MH = Public Service Announcements as Topic
    AQ = CL EC ES HI LJ SN ST TD UT
    MN = L01.143.805
    UI = D066308
    
    *NEWRECORD
    RECTYPE = D
    MH = Public Service Announcements
    MN = V02.736
    MH_TH = NLM (2016)
    ST = T170
    DA = 20150701
    

    基本上,我的文件中有上述内容。我的目标是获得MH和MN值。文件很大,主要采用上述格式。

    1 回复  |  直到 9 年前
        1
  •  1
  •   mr.joshuagordon    9 年前

    这样的东西行吗?

    d <- readLines('mydata.txt') # Read in data
    out <- strsplit(d[grep(pattern = "MH|MN", x = d)], ' = ') #Look for those lines
    do.call(rbind, out) # Bind it together
    

    如果您想指明它来自哪个记录,则可能需要在将其绑定到一起之前添加一个id列。