输入无效会导致read.csv切断数据

Bri*_*ain 6 r

我一直在尝试将一个csv文件读入R,但它一直在切断.我认为这可能是由于文件编码,但我不确定.

这是我运行的代码:

read.csv('crunchbase_companies_2.csv', fileEncoding="UTF-8", quote="")
Run Code Online (Sandbox Code Playgroud)

然后我收到一条警告信息:In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,: invalid input found on input connection.

R读取数据,但仅在达到特殊字符时才停止.所以我最终只得到了R中的部分数据.我粘贴了我得到的数据:http://pastebin.com/EQLnXz2W.注意虽然当它击中诸如'Ì'之类的东西时会切断它.所以那些字符不在样本数据中.

我还检查了终端中的编码file.它回来了Non-ISO extended-ASCII English text, with CR line terminators.

阅读整个数据集需要做什么?

Bri*_*ain 8

因此,虽然我不太知道为什么,是什么结束了工作正在发生变化fileEncoding,以latin1调用read.csv功能时.

这是在一个不同的答案提到这里.不知何故,这是我没有尝试过的一件事......


Yua*_*Ren 5

我今天遇到了类似的问题,并花了几个小时解决它。我尝试更改 encoding/fileEncoding、setlocal 和其他一些在这里找到的东西。但它们都不适合我。

最终我找到了一个非英语的帖子(那些人可能对此有更多的经验)和这个技巧?将开放模型从“r”更改为“rb”。

就我而言,我使用 readLines,所以它是

fileIn=file("userinfo.csv",open="rb",encoding="UTF-8")
lines = readLines(fileIn, n = rowPerRead, warn = FALSE)
Run Code Online (Sandbox Code Playgroud)

我不完全明白为什么,我的猜测是Unicode字符在Byte中,所以如果它不被Byte读取,那个大家伙只会阻止扫描。