此问题类似于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)用代码修复问题,而不是手工?
非常感谢你的帮助。
答案 0 :(得分:3)
1)
suppressWarnings(TestImport <- read.csv("Test_File.csv") )
2)无与伦比的报价是明显过早关闭的最常见原因。你可以尝试添加所有这些:
quote="", na,strings="", comment.char=""