Эта проблема аналогична наблюдаемой здесь .
У меня есть большое количество больших CSV, которые я загружаю и анализирую последовательно через функцию. Многие из этих CSV не представляют проблемы, но есть несколько, которые вызывают проблемы, когда я пытаюсь загрузить их с read.csv()
.
Я загрузил один из этих файлов в общую папку Dropbox здесь (обратите внимание, что размер файла составляет около 10,4 МБ).
Когда я пытаюсь прочитать этот файл .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")
используя URL-адрес Dropbox вместо моего локального пути, он загружается, но когда я затем сохраняю тот самый фрейм данных и пытаюсь перезагрузить его таким образом:
write.csv(Import, "Test_File.csv", row.names = F)
TestImport <- read.csv("Test_File.csv")
Я снова получаю предупреждение "Неполная последняя строка".
Итак, мне интересно, почему загруженная в Dropbox версия работает, а локальная версия - нет, и как я могу заставить мои локальные версии работать - так как у меня есть где-то около 400 таких файлов (и больше, каждый день), я не могу использовать решение, которое не может быть каким-либо образом автоматизировано.
В связанной проблеме, возможно, заслуживающей отдельного вопроса, кажется, что некоторые «специальные символы» нарушают процесс read.csv()
и предотвращают загрузку всего файла. Например, один CSV, имеющий 14 760 строк, загружает только 3264 строки. 3264-я строка содержит этот красноречивый твит:
"RT @ akiron3: ácÎå23BkªÐÞ'q (@BarackObama)
\ &»ŸõWFSnĤ ©» FhÎåšBkêÕ «kĤüÈLáUŒ ~ YO http://t.co/ABNnWfTN
«JG) (WF"
Опять же, учитывая сериализованную загрузку нескольких сотен файлов, как я могу (а) определить причину этого сбоя в процессе read.csv()
и (б) устранить проблему с кодом, а не вручную
Большое спасибо за вашу помощь.