R 读取包含Col:ColData等数据的文本文件

R 读取包含Col:ColData等数据的文本文件,r,R,我想编写一个解析器,可以读取文本文件并将其转换为表格格式。文本文件的格式如下: textfile.txt -------------------------------- colA: dataA colB: dataB colC: dataC ColA: dataA ColB: dataB ColC: dataC 应生成: ColA ColB ColC dataA dataB dataC dataA dataB dataC 如果有人能帮助我,那将是一个很大的帮助,因为我到处都在搜

我想编写一个解析器,可以读取文本文件并将其转换为表格格式。文本文件的格式如下:

textfile.txt 
--------------------------------
colA: dataA
colB: dataB
colC: dataC 

ColA: dataA
ColB: dataB
ColC: dataC 
应生成:

ColA  ColB  ColC
dataA dataB dataC
dataA dataB dataC

如果有人能帮助我,那将是一个很大的帮助,因为我到处都在搜索它,但我找不到解决方案。

据我所知,您的数据中有3个问题:

  • 数据文件中的空行
  • 第一列中的一些值以大写字母开头,一些值以小写字母开头
  • 数据不是您希望看到的格式(即:宽格式)
  • 这可以通过以下方式解决:

    1)使用正确的分隔符和
    空行读取数据。跳过
    参数(也可能是
    fill=TRUE
    ):

    2)将第一列中的值大写:

    mydf$V1 <- gsub('(^[a-z])','\\U\\1', mydf$V1, perl=TRUE)
    
    其中:

         ColA   ColB   ColC
    1:  dataA  dataB  dataC
    2:  dataA  dataB  dataC
    
    上述重塑解决方案使用


    有关重塑数据的更多替代方法,请参阅您可以在
    read.table
    中使用
    sep=“:”
    ,另请参阅帮助文件:
    ?read.table
    感谢您更正该文件。。但请再次查看示例txt文件。。。我尝试过>我的表格请将您尝试过的代码和错误消息添加到问题中,而不是在评论中发布。可能添加
    fill=TRUE
    帮助,另请参阅帮助文件:
    ?阅读。表格
    没有提供所需的输出,链接不是我的问题请查看编辑:(
    fread()
    with
    blank.lines.skip=TRUE
    现在按预期读取此文件(.不确定您是否首先尝试使用
    fread
    。@Arun没有首先尝试使用
    fread
    ,但很高兴知道现在可以正常工作:-)(不过之前没有遇到错误)
    mydf$V1 <- gsub('(^[a-z])','\\U\\1', mydf$V1, perl=TRUE)
    
    library(data.table)
    dcast(setDT(mydf), rowid(V1) ~ V1, value.var = 'V2')[, V1 := NULL][]
    
         ColA   ColB   ColC
    1:  dataA  dataB  dataC
    2:  dataA  dataB  dataC