Чтение CSV-файл в R
У меня есть несколько csv-файлов разного размера, но все несколько большие. Использование read.csv
для чтения их в R занимает больше времени, чем я терпеливо ждал до сих пор (несколько часов). Мне удалось прочитать Самый большой файл (2,6 ГБ) очень быстро (менее минуты) с помощью data.table
s fread
.
Моя проблема возникает, когда я пытаюсь прочитать файл вдвое меньшего размера. Я получаю следующее сообщение об ошибке:
В ходе исследований я нашел предложения по добавлениюОшибка в
fread("C:/Users/Jesper/OneDrive/UdbudsVagten/BBR/CO11700T.csv"
,:Ожидая 21 cols, но строка 2557 содержит текст после обработка всех седла. Весьма вероятно, что это связано с тем, что одно или несколько полей имеют встроенные
sep=';'
и/или (неэкранированная)'n'
символы в несбалансированной неэкранированные кавычки.
fread
не может справиться с такими неоднозначными случаями и те строки могли быть прочитаны не так, как ожидалось. Пожалуйста, прочтите раздел на котировках внутри ?fread
.
quote = ""
в код, но это не помогло мне. Я пробовал использовать пакет bigmemory
, но R вылетает, когда я пытаюсь. Я на 64-битной системе с 8 ГБ оперативной памяти.
Я знаю, что есть довольно много тем на эту тему, но я не смог решить проблему ни с одним из решений. Я бы очень хотел использовать fread
(учитывая мой хороший опыт работы с большим файлом), и кажется, что должен быть какой - то способ заставить его работать-просто не могу понять.1 ответ:
Решил эту проблему, установив SlickEdit и используя его для редактирования строк, вызвавших проблему. Некоторые символы, такие как амперсанд, кавычки и апострофы, были последовательно закодированы, чтобы включать точку с запятой - например,
&
вместо просто &. Поскольку точка с запятой была разделителем в текстовом документе, это вызвало проблему при чтении сfread
.