如何以下列格式读取文件

Sat*_*ani 2 csv file-format r read.csv

我有很多想要阅读的文件.文件格式完全如下所示.

我尝试了很多包格式来阅读它,但它们似乎都没有用.应跳过以" - "开头的行.文件中大约有102列,但我只显示了几列.以" - "开头的行实际上位于第1行,第3行和最后一行.

文件格式如下

------------------------------------------------
|Delivery |Created by |Time    |Created on|SDst|
------------------------------------------------
|84181375 |BATCHJOBMGR|19:33:47|01/05/2017|    |
|84181376 |BATCHJOBMGR|19:33:47|01/05/2017|    |
------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

使用read.table

temp <- read.delim(file="LIKP_01012016_01312016.txt", header=TRUE, 
                   stringsAsFactors=FALSE, 
                   strip.white=TRUE, sep="|", skip = 1, comment.char = "-")
Run Code Online (Sandbox Code Playgroud)

使用data.table

temp <- fread(input="LIKP_01012017_01312017.txt",  
              stringsAsFactors=FALSE, strip.white=TRUE, 
              sep="|",quote = "-", skip=1)
Run Code Online (Sandbox Code Playgroud)

显然我做的不对.你能帮我阅读这些文件吗?

提前致谢.

萨蒂什

G. *_*eck 5

1)在样本数据中,唯一的减号是虚线.如果您的真实数据也是如此,则以下内容应该有效.替换text = Lines"LIKP_01012016_01312016.txt".请注意,comment.char = "-"导致具有减号的任何行具有该减号,并且忽略其行上的所有行,从而有效地将减少的行变为空行.

read.table(text = Lines, header = TRUE, sep = "|", as.is = TRUE, 
        comment.char = "-", check.names = FALSE, strip.white = TRUE)[2:6]
Run Code Online (Sandbox Code Playgroud)

赠送:

  Delivery  Created by     Time Created on SDst
1 84181375 BATCHJOBMGR 19:33:47 01/05/2017   NA
2 84181376 BATCHJOBMGR 19:33:47 01/05/2017   NA
Run Code Online (Sandbox Code Playgroud)

2如果数据中确实有减号,则只需跳过第一行,使用fill = TRUE并删除第一行和最后一行(其余行包含所有减号).

DF <- read.table(text = Lines, header = TRUE, sep = "|", as.is = TRUE, 
        skip = 1, fill = TRUE, check.names = FALSE, strip.white = TRUE)[2:6]
n <- nrow(DF)
DF <- DF[-c(1, n), ]
Run Code Online (Sandbox Code Playgroud)

注意: 上面代码的输入是:

Lines <- "------------------------------------------------
|Delivery |Created by |Time    |Created on|SDst|
------------------------------------------------
|84181375 |BATCHJOBMGR|19:33:47|01/05/2017|    |
|84181376 |BATCHJOBMGR|19:33:47|01/05/2017|    |
------------------------------------------------"
Run Code Online (Sandbox Code Playgroud)