我在Windows10 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文件做这件事?
发布于 2018-06-10 08:22:39
获取所有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()
命令查看可能的编码
https://stackoverflow.com/questions/50779142
复制相似问题