Как конвертировать набор Unicode .txt в ANSI для анализа текста в R - PullRequest
0 голосов
/ 10 июня 2018

Я использую R на Windows 10 x64.Я пытаюсь прочитать набор текстового файла в R, чтобы сделать анализ текста.Я использую следующий код:

setwd(inputdir)
files <- DirSource(directory = inputdir, encoding ="UTF-8" )
docs<- VCorpus(x=files)
writeLines(as.character(docs[[2]]))

Последняя строка предназначена для отображения содержимого документа № 2, который этот код показывает как пустой (а также все другие документы в наборе).Я не уверен почему.Я проверил кодировку документа txt (откройте, затем выберите «сохранить как»), и моя кодировка файлов txt - «Юникод».Когда я вручную сохраняю любой из файлов как «ANSI», writeLines(as.character(docs[[2]])) дает мне правильное содержимое.Я думал, что я должен конвертировать все файлы в ANSI.В связи с этим я хотел спросить, как я могу сделать это в R для всех текстовых файлов в моем «inputdir»?

1 Ответ

0 голосов
/ 10 июня 2018

получить весь текстовый файл

files <- list.files(path=getwd(), pattern="*.txt", full.names=T, recursive=FALSE)

цикл для преобразования кодировки и его перезаписи

for(i in 1:length(files)){
  input <- readLines(files[i])
  converted_input <- iconv(input, from = file_encoding, to = file_encoding)
  writeLines(converted_input,files[i])
}

возможные кодировки можно просмотреть с помощью команды iconvlist()

...