Как заставить R read_csv2 () правильно распознавать текстовые символы

Попытка прочитать файл csv, используя read_csv2() из readr пакета.

Проблема в том, что read_csv2() не распознает символы должным образом, в то время как read.csv2 по умолчанию для R.

Например:

исходное значение: KOZYATAĞI

как read_csv2() распознает: KOZYATA<'d0'>I

Я проверил файл справки, а также попробовал кодировку, указанную ниже; однако не смог этого сделать.

1-я попытка: неправильные символы

my_df <- read_csv2("my_path/my_file.csv")

2-я попытка: укажите кодировку вручную.

my_df <- read_csv2("my_path/my_file.csv", locale(encoding = "UTF-8"))

Error: `col_names` must be TRUE, FALSE or a character vector

3-я попытка: добавление ко 2-й попытке из-за сообщения об ошибке выше.

my_df <- read_csv2("my_path/my_file.csv", locale(encoding = "UTF-8"), col_names = TRUE, col_types = NULL)

Этот не дает ошибок, но все равно не распознает символы должным образом.

Как это сделать? Сообщите мне, если потребуется дополнительная информация. Заранее спасибо.


person kzmlbyrk    schedule 03.12.2016    source источник
comment
Дайте нам представление о первых нескольких проблемах, которые нужно попробовать. В противном случае ... я бы также попробовал другие кодовые наборы ... другие utfs ... иногда ANSI работает по какой-то странной причине   -  person Amit Kohli    schedule 05.12.2016


Ответы (2)


@Amit, спасибо за ваше предложение.

В RStudio я выбрал Файл \ Сохранить с кодировкой ..., чтобы увидеть некоторые из доступных параметров кодирования.

Во всплывающем окне вверху списка кодировок отображается системное значение по умолчанию (для моего компьютера это CP1254). Затем передал его параметру кодирования, как показано ниже, и он сработал!

my_df <- read_csv2("my_path/my_file.csv", locale(encoding = "**CP1254**"), col_names = TRUE, col_types = NULL)
person kzmlbyrk    schedule 05.12.2016