Обработка специальных символов при импорте csv в r

Я не могу импортировать csv (разделенный точкой с запятой) в R. Проблема в том, что некоторые столбцы содержат текст со специальным символом (например, точкой с запятой), что приводит к неравному количеству столбцов в некоторых строках.

Специальные символы окружены квотами, например ";". Файл весит 2,3 Гб. Я могу правильно открыть этот файл в Excel (по крайней мере, его часть).

Я попробовал readr, data.table, базовый R и потерпел неудачу.

read_csv2("C:/PE_Omnibus_plik_płaski/omnibus_clean.csv")

Я мог бы сделать это в Notepad++, но предпочел бы R.


person Seweryn Grodny    schedule 18.08.2016    source источник
comment
пожалуйста, вставьте несколько примеров данных, и это лучше объяснит вашу проблему.   -  person abhiieor    schedule 18.08.2016
comment
Привет, трудно привести пример данных, потому что если я открою его в Excel, файл откроется правильно :). В этом сообщении: (stackoverflow.com/questions/9364739/) @John сказал, что вы может нарушить требование уникальности разделителя, если ваши записи заключены в кавычки. У меня есть такой файл, но я не могу его правильно открыть в R.   -  person Seweryn Grodny    schedule 18.08.2016
comment
@SewerynGrodny Вы пробовали разные варианты кодирования?   -  person amrrs    schedule 18.08.2016
comment
@amrrs нет, я этого не делал. Думаю, в моем случае это не имеет значения. Знаете, как я могу это сделать?   -  person Seweryn Grodny    schedule 18.08.2016
comment
Недавно у меня была аналогичная проблема с неизвестными символами, встречающимися в тексте, который R считал концом столбца. Просто игра с другой кодировкой решила ее read.csv("data.csv", encoding="UTF-8", stringsAsFactors=FALSE), и вы можете попробовать fileEncoding="latin1"   -  person amrrs    schedule 18.08.2016
comment
@amrrs спасибо за это. Сейчас тестирую. Но read.csv очень медленный (особенно с 2,3 ГБ). Вы знаете, как я мог сделать это в readr   -  person Seweryn Grodny    schedule 18.08.2016
comment
@SewerynGrodny fread из data.table должен помочь вам улучшить скорость   -  person amrrs    schedule 18.08.2016
comment
Я попробовал несколько вариантов, и результаты следующие: read.csv("data.csv", encoding="UTF-8", stringsAsFactors=FALSE) работает нормально, а также read.csv("data.csv"). Но ни read_csv2, ни fread этого не делают. Странная ситуация :)   -  person Seweryn Grodny    schedule 18.08.2016
comment
Если вы можете открыть его в Excel, просто пересохраните его как .csv и убедитесь, что все текстовые поля заключены в кавычки.   -  person MichaelChirico    schedule 22.08.2016