2013-08-26 4 views
7

У меня возникли некоторые проблемы при чтении файла CSV с R.Ошибка при чтении файла CSV в R

x=read.csv("LorenzoFerrone.csv",header=T) 

Error in make.names(col.names, unique = TRUE) : 
     invalid multibyte string at '<ff><fe>N' 

Я могу прочитать файл, используя Libre офис без проблем.

Я не могу загрузить файл, потому что он полон разумной информации.

Что я могу сделать?


Настройка кодировки кажется решением проблемы.

> x=read.csv("LorenzoFerrone.csv",fileEncoding = "UCS-2LE") 
> x[2,1] 
[1] Adriano Caruso 
100 Levels: Ada Adriano Caruso adriano diaz Adriano Diaz alberto ferrone Alexey ... Zia Tina 
+0

У меня никогда не было этой ошибки раньше, но, как я могу понять из сообщения об ошибке, у вас может быть 2 столбца с тем же именем в вашем файле. – Error404

+3

Существует решение [здесь] (http://r.789695.n4.nabble.com/Read-data-in-R-td2336018.html) – Metrics

+1

Эй, вы правы, это похоже на работу fileEncoding = "UCS-2LE ». Я буду ждать немного раньше, чтобы закрыть вопрос, просто чтобы быть уверенным. – Donbeo

ответ

2

Необходимо указать правильный разделитель в аргументе sep.

0

Не уверен, если это полезно, но у меня была аналогичная проблема, и понял, что это потому, что мой файл «CSV» был суффикс .csv, но на самом деле был .xls файл!

0

Не уверен, что это помогает, просто возникла аналогичная проблема, которую я решил, удалив «из csv, который я пытался импортировать. Первая строка базы данных имела имена столбцов, написанные как« colname »,« colname2 », «и т. д.», и я удалил все «и csv было прочитано в R просто отлично.

5

Причина - неправильная кодировка. Я решил заменить все «è» на e

+0

Я не уверен, отвечает ли это на вопрос. – Opal

1

Как правило, проблема с кодировкой. Вы можете попытаться изменить кодировку или удалить оскорбительный символ (просто используйте свой любимый редактор и замените все экземпляры). В некоторых случаях R плюнет расположение обугленного, например:

недействителен многобайтовая строка 1847

Который должен сделать вашу жизнь проще. Также обратите внимание, что вам может потребоваться повторить этот процесс несколько раз (удаление всех оскорбительных символов или попыток нескольких кодировок).

0

Я решил проблему, удалив любые графические знаки в письме (то есть знаки акцента). Мои заголовки были написаны на испанском языке и имели некоторые знаки акцента. Я заменил простыми словами (México = Mexico), и проблема была решена.

0

Я знаю, что это старый пост, но просто хотел сказать неанглийским туземцам, что если вы используете «» в качестве десятичного разделителя,

0

Это будет читать имена столбцов, как есть, и выиграл» т возвращать ошибки:

x = read.csv(check.names = F) 

Чтобы удалить/заменить проблемные символы в именах столбцов, используйте:

iconv(names(x), to = "ASCII", sub = "") 
Смежные вопросы