使用R语言读取csv文件的时候,由于文件的字符集不同,有时往往会有乱码。
最近整理一个读取csv的方式,足以应付99%的情况。
废话少说,上代码:
# 依赖package
library(readr)
library(stringi)
# 猜测文件的字符编码格式
enc <- guess_encoding("filename.csv", n_max = 1000)[1,1, drop = TRUE]
# UTF-8格式有warning时,尝试UTF-8-BOM
df <- tryCatch(read.csv("filename.csv", fileEncoding = enc),
warning =function(e) {
read.csv("filename.csv", fileEncoding = "UTF-8-BOM")
})
参考连接: