在R中加载带有多个分隔符的文件

时间:2015-01-29 22:28:47

标签: r delimiter

我有一个包含多个分隔符的大型文本文件 - ":",&#34 ;;",","。所有行都以:2015开头。以下是一行示例:

  

:2015,01,04; 22,06,07,57:1587.0059,1582.1625,1577.2192,1571.9540,1561.7333,1546.7213,1531.9143,1517.3482:1587.2206,1582.2081,1577.1512,1572.1362,1561.2966,1547.7744,1533.1818,1516.6925: 1587.4020,1582.1017,1577.2475,1572.2528,1562.0818,1546.2844,1532.8708,1516.4988:1587.1609,1582.2521,1577.2482,1572.2127,1562.2775,1547.7381,1532.7753,1516.0095

我应该如何将此文件加载到R中?有些线条具有这种不规则性,即一条线上存在两条线。我怎么处理这个?

  

:2015 下,01,04; 22,06,07,58:1587.0048,1582.1615,1577.2197,1571.9543,1561.7341,1546.7314,1531.9131,1517.3372:1587.2196,1582的:2015 < /b>,01,04;22,06,07,99:1587.0061,1582.1610,1577.2170,1571.9536,1561.8633,1547.0056,1531.8030,1516.9904:1587.2205,1582.2067,1577.1493,1572.1346,1561.3149,1547.6513,1533.2912,1516.6911:1587.4008, 1582.1001,1577.2466,1572.2508,1561.9674,1546.0941,1532.9294,1516.6921:1587.1605,1582.2502,1577.2468,1572.2109,1562.0034,1547.5732,1532.9829,1516.0305

1 个答案:

答案 0 :(得分:1)

您可以将文件读取为字符向量(取自here):

fileName <- 'foo.txt'
s <- readChar(fileName, file.info(fileName)$size)

然后,您可以使用strsplit分隔行:

L <- strsplit(s,split='2015:')

并且对于每一行,再次使用strsplit来分隔记录

lapply(L,strsplit,split=',|;|:')