解析包含R中多个部分的文本文件

时间:2017-08-17 14:26:08

标签: r delimiter read.table psse

我有一个包含130个表的文本文件,由分隔符' DLM'分隔。我尝试在R中使用包reader并定义默认分隔符,如下所示,但它仍然读取整个文件。

reader::reader("Path_to_file.txt", def= "\\' DLM'", one.byte = FALSE)

是否可以解析文件并只读取特定于表名的行?例如,如果我指定'B2',我是否只能读取表B2的行?我似乎无法解决读者中的分隔符问题。任何帮助表示赞赏!

示例数据集:

'A1',2018,10,'655033655206 1',,,81,
'A1',2019,4,'655033655206 1',,,63,
'A1',2011,1,'655034655045 1',.03486,.05829,52,


' DLM','B2',2011,1,'5BON AQUA TP',361239,161,,,0,
'B2',2001,1,'5BON AQUA TN',361240,161,22.7,4.97,0,
'B2',2002,1,'5CON FIRE TN',363240,161,22.7,4.97,0,


' DLM','C1','CGDF09',
'C1','W XYZ',
'C1','A BCD',

1 个答案:

答案 0 :(得分:1)

也许尝试删除分隔符,然后检查哪一行以'B2'开头? 您可以使用stringi包中的此功能:

stri_startswith_fixed(c("A1,1,2,3","B2,3,4,5","C2,3,,5"), "B2")
# [1] FALSE  TRUE FALSE