【发布时间】:2012-02-21 18:34:31
【问题描述】:
这个问题和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: acÎå23BkªÐÞ'q(@BarackObama )nĤÿükTPP ÍþnĤüÈ'áY‹ªÐÞĤÿüŽ \&'ŸõW^FSnĤ©'FhÎåšBkêÕ„kĤüÈLáUŒ~YÒhttp://t.co/ABNnWfTN “jg)(W^F”
同样,鉴于数百个文件的序列化加载,我如何 (a) 确定导致 read.csv() 进程中断的原因,以及 (b) 使用代码而不是手动解决问题?
非常感谢您的帮助。
【问题讨论】:
-
无论你使用什么 api 来抓取 twitter,通常都有一个语言参数。也许只指定英文推文......或编写一些代码(在 R 或其他语言中)以删除该文件中的所有疯狂。我会从
readLines开始,然后从那里前往众所周知的小镇。
标签: r