我试图将一个非常大的.csv文件读入R
OrigTotalPumping <- read.table("/Users/Larry/Desktop/OrigTotalPumping/MasterOrigFt3.csv",
header=F, sep=",")
我收到错误
扫描错误(文件,内容,nmax,sep,dec,quote,skip,nlines,na.strings,: 第19437行没有7个元素
所以我试图简单地跳过该行,但是文件中的多行发生了同样的错误,并且文件太大而无法打开并手动修复。例如
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 2 did not have 7 elements
和
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 19439 did not have 7 elements
如何设置它以便它可以读取此文件,尽管有这个问题?
答案 0 :(得分:0)
不要跳过它,但最好将此代码置于循环和trycatch块下。并对已发布的记录/记录进行错误处理。 如何在R中执行trycatch: 以下是same
的链接答案 1 :(得分:0)
您可以使用这样的awk
预处理文件来创建清理文件,其中每行有7个字段吗?
awk 'NF==7' original.csv > cleaned.csv
或者,如果您的字段分隔符是逗号
awk -F',' 'NF==7' original.csv > cleaned.csv
或者,基于@Spacedman的想法,您可以使用awk
向您显示没有7个字段的“不快乐”行
awk -F',' 'NF!=7 {print "Line " NR $0}' yourfile.csv | more