Я пытаюсь импортировать CSV, закодированный как OEM-866 (кириллическая кодировка), в R в Windows. У меня также есть копия, которая была преобразована в UTF-8 без спецификации. Оба этих файла могут быть прочитаны всеми другими приложениями в моей системе после того, как будет указана кодировка.
Кроме того, в Linux, R может читать эти конкретные файлы с указанными кодировками просто отлично. Я также могу прочитать CSV в Windows, ЕСЛИ я не указываю параметр "fileEncoding", но это приводит к нечитаемому тексту. Когда я указываю кодировку файла в Windows, я всегда получаю следующие ошибки, как для OEM, так и для файла Unicode:
Оригинальный импорт OEM файла:
> oem.csv <- read.table("~/csv1.csv", sep=";", dec=",", quote="",fileEncoding="cp866") #result: failure to import all rows
Warning messages:
1: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
invalid input found on input connection '~/Revolution/RProject1/csv1.csv'
2: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
number of items read is not a multiple of the number of columns
UTF-8 без импорта файла спецификации:
> unicode.csv <- read.table("~/csv1a.csv", sep=";", dec=",", quote="",fileEncoding="UTF-8") #result: failure to import all row
Warning messages:
1: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
invalid input found on input connection '~/Revolution/RProject1/csv1a.csv'
2: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
number of items read is not a multiple of the number of columns
Информация о локали:
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
Что это за R в Windows, который отвечает за это? К этому моменту я почти все испробовал, кроме того, что вырезал окна.
Спасибо
(Дополнительные неудачные попытки):
>Sys.setlocale("LC_ALL", "en_US.UTF-8") #OS reports request to set locale to "en_US.UTF-8" cannot be honored
>options(encoding="UTF-8") #now nothing can be imported
> noarg.unicode.csv <- read.table("~/Revolution/RProject1/csv1a.csv", sep=";", dec=",", quote="") #result: mangled cyrillic
> encarg.unicode.csv <- read.table("~/Revolution/RProject1/csv1a.csv", sep=";", dec=",", quote="",encoding="UTF-8") #result: mangled cyrillic