我正在尝试使用'£'作为分隔符来阅读短文本文件。它正确地将前五行放入两列,但随后给出错误:
扫描错误(文件,内容,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 ="")
我确信有一个简单的答案,我只是看不出它是什么!非常感谢
答案 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并且它工作正常。我想有一些奇怪的角色,它不喜欢。
感谢大家的帮助,很高兴知道我不会疯狂!