2014-11-05 4 views
0

У меня есть большой CSV-файл (170 тыс. Строк), который я импортирую в R. Каждая запись в файле разделена запятой - однако в некоторых столбцах (особенно с набор URL-адресов, вставленных вместе), в строках есть запятые. Пример ниже:Бесполезные запятые при импорте CSV в R

Will Smith,25/09/68,null,male,08/10/14,450109,TRUE,http://commons.wikimedia.org/wiki/Special:FilePath/Will_Smith_2011,_2.jpg?width=300http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Will_Smith_2011,_2.jpg/200px-Will_Smith_2011,_2.jpghttp:..... 

Добавленная запятая имеет эффект домино - это делает R (и Excel) считает, что это отдельный столбец, который затем проходит над другими колоннами и разрушая форматирование. Учитывая, что примерно 10% данных затронуты, есть ли быстрый способ обойти это?

+0

Если есть запятые в данных, он должен быть сохранен в закладке разделителей текста , –

+0

Если вы не можете восстановить файл, но запятые находятся в конце, тогда предполагается, что n полей просто заменяют первые n-1 запятыми некоторым символом, который не отображается в файле. Здесь мы будем использовать точки с запятой: 'L <- readLines (" myfile.csv "); для (i в 2: n) L <- sub (",", ";", L); read.table (текст = L, header = TRUE, sep = ";") ' –

ответ

0

Если правило было предложено этим ограниченными, например, чтобы удалить запятые, которые появляются перед тем подчеркиванием, то это удастся:

gsub("[,][_]", "_", s) 
0

Без какого-либо правила, когда запятые должны игнорироваться, нет.

Если у вас есть правило с последовательностью, используйте str_replace_all с регулярным выражением, чтобы найти исключения.

Если вы делаете csv, я предлагаю вам разграничить его с другим персонажем.

Смежные вопросы