Больше проблем с "неполной финальной линией" - PullRequest
3 голосов
/ 21 февраля 2012

Эта проблема аналогична наблюдаемой здесь .

У меня есть большое количество больших 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() и (б) устранить проблему с кодом, а не вручную

Большое спасибо за вашу помощь.

1 Ответ

3 голосов
/ 22 февраля 2012

1)

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

2) Несовпадающие кавычки являются наиболее частой причиной очевидного преждевременного закрытия.Вы можете попробовать добавить все это:

 quote="", na,strings="", comment.char=""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...