首页 文章

.csv文件中的多行在R中没有相同数量的元素

提问于
浏览
0

我试图将一个非常大的.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

如何设置它,以便它可以读取此文件,尽管这个问题?

2 回答

  • 0

    不要跳过它,但最好将此代码置于循环和trycatch块下 . 并对已发布的记录/记录进行错误处理 . 如何在R中执行trycatch:这是same的链接

  • 0

    你能用这样的 awk 预处理文件来创建一个清理过的文件,其中每行有7个字段吗?

    awk 'NF==7' original.csv > cleaned.csv
    

    或者,如果您的字段分隔符是逗号

    awk -F',' 'NF==7' original.csv > cleaned.csv
    

    或者,基于@Spasdman的想法,您可以使用 awk 向您显示没有7个字段的"unhappy"行

    awk -F',' 'NF!=7 {print "Line " NR $0}' yourfile.csv | more
    

相关问题