我在 Windows 10 x64 上使用 R。我正在尝试将一组 txt 文件读入 R 进行文本分析。我正在使用以下代码:
setwd(inputdir)
files <- DirSource(directory = inputdir, encoding ="UTF-8" )
docs<- VCorpus(x=files)
writeLines(as.character(docs[[2]]))
最后一行旨在显示文档 #2 的内容,此代码将其显示为空(以及集合中的所有其他文档)。我不知道为什么。我检查了 txt 文档的编码(打开,然后选择“另存为”),我的 txt 文件编码是“Unicode”。当我手动将任何文件保存为“ANSI”时,它writeLines(as.character(docs[[2]]))
会给我正确的内容。我想我应该将所有文件转换为 ANSI。在这方面,我想问一下如何在 R 中为“inputdir”中的所有 txt 文件执行此操作?
获取所有txt文件
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()
命令查看可能的编码
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句