Прочитайте текст UTF-8 в R - PullRequest
       0

Прочитайте текст UTF-8 в R

0 голосов
/ 27 февраля 2020

Я пытаюсь прочитать файл sql следующим образом:

fileName <- paste0("C:/SomeWhere/", "test.sql")
test <- readChar(fileName, file.info(fileName)$size)

К сожалению, мой текст в UTF-8, который выглядит так в начале:

 SELECT ...

Когда я читаю текстовый файл данных, разделенный табуляцией, я могу использовать:

fileEncoding = "UTF-8"

Пример:

some_data <- read.csv(file = "bla.txt", header = TRUE, sep = "\t", fileEncoding = "UTF-8")

Есть ли эквивалент для чтения простого текстового файла в виде одной строки? Спасибо

1 Ответ

2 голосов
/ 27 февраля 2020

Вы можете прочитать произвольный «текстовый файл» в R, используя readLines:

text <- readLines("bla.txt", encoding = "UTF-8")

Согласно ?readLines:

кодировка

кодировка для входных строк. Он используется для маркировки символьных строк, как известно, в Latin-1 или UTF-8: он не используется для перекодирования ввода. Чтобы выполнить последнее, укажите кодировку как часть соединения con или с помощью параметров (encoding =): см. Примеры.

Может быть, вам нужно что-то вроде:

tryCatch({
  fileConn <- file("bla.txt", encoding = "UTF-8")
  text <- readLines(fileConn)
},
error = function(e) return(e),
finally = {
  close(fileConn)
})

Редактировать:

Удалена часть "-BOM" спецификации кодирования, поскольку это решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...