R语言read.csv万能读取各种文件编码的方式

使用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")
                       })

参考连接:

  1. R语言read.csv乱码问题UTF-8 BOM X.U.FEFF https://blog.csdn.net/ofoliao/article/details/106431217

你可能感兴趣的:(R)