2015-07-10 83 views
1

我有这样类似的问题:read.csv warning 'EOF within quoted string' prevents complete reading of file如何在R中加载csv时删除特殊字符?

也就是说,当我打开一个CSV [R说:

Warning message: 
In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
EOF within quoted string 

我可以通过应用摆脱这种错误的:报价=“”到read.csv

但是主要问题依然存在,总共只有22111行689233被读入R.我想尝试从csv中删除所有特殊字符以查看是否清除了这个问题。

相关,我发现这一点:How to remove specific special characters in R

但是,有没有办法做到这一点在read.csv,即在相当我在文件中正在读?

+0

是否确定您的输入文件格式正确,这意味着所有689,233行都具有相同的列数? 'read.csv'(它是'read.table'的一个包装器)有点敏感,并且可能会因坏的输入文件而死亡。 –

+1

我不认为你可以在read.csv中做到这一点!我相信在这里不要使用R并使用类似'awk'或其他Linux文本后期处理命令的东西。 – agstudy

+2

@ElinaJ您可以从输入csv文件中发布前22行和22111行和22112行吗? –

回答

1

您是否尝试fread来自data.table?它可以优化任务并可能处理一些常见问题。由于您没有提供任何数据,我给出了一个愚蠢的例子:

> fread('col1,col2\n5,"4\n3"') 
    col1 col2 
1: 5 4\n3 
0

这确实是一个特殊的字符。第22,112行有→(箭头,十六进制值0x1A)。 删除箭头后,我得到的数据正常加载!