read.table没有检测到第6行的分隔符

时间:2017-03-28 13:57:04

标签: r

我正在尝试使用'£'作为分隔符来阅读短文本文件。它正确地将前五行放入两列,但随后给出错误:

扫描错误(文件,内容,nmax,sep,dec,quote,skip,nlines,na.strings,:   第6行没有2个元素

然后将剩余的行全部放入第一列。我正在阅读的文本文件的前几行具有以下格式:

czk11 (4).txt£ 2017-03-20 04:05:07.599+00:00  [F]  Thread 0 System not loaded, loading now, Engine Version: 1.8.11.415
czk11 (4).txt£
czk11 (4).txt£ 2017-03-20 04:05:09.130+00:00  [F]  Thread 0 System loading complete
czk11 (4).txt£ 
czk11 (5).txt£ 2017-03-21 04:57:24.060+00:00  [F]  Thread 0 System not loaded, loading now, Engine Version: 1.8.11.415
czk11 (5).txt£ 
czk11 (5).txt£ 2017-03-21 04:57:25.608+00:00  [F]  Thread 0 System loading complete

我目前正在使用以下几行来阅读它:

dat<-file('merged.txt',encoding='UTF-16LE',open='r')
data<-read.table(dat,sep='£',fill=TRUE,header=FALSE,quote ="")

我确信有一个简单的答案,我只是看不出它是什么!非常感谢

2 个答案:

答案 0 :(得分:0)

只需使用:

data = read.table("merged.txt",sep='£', fill=TRUE, header=FALSE, quote ="")

输出结果为:

structure(list(V1 = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L), .Label = c("czk11 (4).txt", 
"czk11 (5).txt"), class = "factor"), V2 = structure(c(3L, 1L, 
4L, 2L, 5L, 2L, 6L), .Label = c("", " ", " 2017-03-20 04:05:07.599+00:00  [F]  Thread 0 System not loaded, loading now, Engine Version: 1.8.11.415", 
" 2017-03-20 04:05:09.130+00:00  [F]  Thread 0 System loading complete", 
" 2017-03-21 04:57:24.060+00:00  [F]  Thread 0 System not loaded, loading now, Engine Version: 1.8.11.415", 
" 2017-03-21 04:57:25.608+00:00  [F]  Thread 0 System loading complete"
), class = "factor")), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA, 
-7L))

答案 1 :(得分:0)

不知道是什么导致了它,但这是输入文件的问题 - 在导入中添加了skip = 7并且它工作正常。我想有一些奇怪的角色,它不喜欢。

感谢大家的帮助,很高兴知道我不会疯狂!