“不完整的终点线”的更多问题

时间:2012-02-21 18:34:31

标签: r

此问题类似于here

我有大量的大型CSV,我正在通过一个函数连续加载和解析。其中许多CSV没有任何问题,但是当我尝试使用read.csv()加载它们时,有几个会导致问题。

我已将其中一个文件上传到公共Dropbox文件夹here(请注意该文件大约为10.4MB)。

当我尝试read.csv()该文件时,我收到警告警告消息:

In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on ...

尽管StackOverflow和Rhelp正在寻求解决方案,但我无法隔离这个问题。疯狂地,当我跑

Import <- read.csv("http://dl.dropbox.com/u/83576/Candidate%20Mentions.csv")

使用Dropbox URL而不是我的本地路径,它会加载,但是当我保存那个数据框并尝试重新加载它时:

write.csv(Import, "Test_File.csv", row.names = F)
TestImport <- read.csv("Test_File.csv")

我再次收到“不完整的最后一行”警告。

所以,我想知道为什么Dropbox加载版本有效,而本地版本没有,以及我如何使我的本地版本工作 - 因为我有大约400个这些文件(并且更多那天,我不能使用无法以某种方式自动化的解决方案。

在一个相关问题中,也许值得自己提出问题,似乎某些“特殊字符”会破坏read.csv()进程,并阻止加载整个文件。例如,一个包含14,760行的CSV仅加载3,264行。第3,264行包括这个雄辩的推文:

  

“RT @ akiron3:ácÎå23BkªÐÞ'q(@BarackObama)nĤÿükTPPÍþnĤüÈ'áY<ªÐÞĤÿ   \&放大器;”ŸõWFSnĤ©”FhÎåšBkêÕ“kĤüÈLáUŒ〜YÒhttp://t.co/ABNnWfTN   “JG)(WF“

同样,考虑到数百个文件的序列化加载,我如何(a)识别导致read.csv()进程中这个中断的原因,以及(b)用代码修复问题,而不是手工?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

1)

 suppressWarnings(TestImport <- read.csv("Test_File.csv") )

2)无与伦比的报价是明显过早关闭的最常见原因。你可以尝试添加所有这些:

 quote="", na,strings="", comment.char=""