R语言中使用read.csv()读取CSV文件时特殊字符识别问题
解决read.csv读取CSV时的特殊字符问题
你看到的�是编码不匹配导致的乱码,核心原因是R读取文件时用的默认编码和CSV文件实际编码不一致。可以通过给read.csv()添加参数来解决:
指定文件实际编码:
read.csv()支持fileEncoding参数,直接传入文件的编码格式即可。常见的编码尝试顺序:# 尝试UTF-8编码 df <- read.csv("your_file.csv", fileEncoding = "UTF-8") # 若无效,尝试Windows常用的CP1252编码 df <- read.csv("your_file.csv", fileEncoding = "CP1252")若不确定文件编码,可借助
stringi包检测:
先安装并加载包:install.packages("stringi") library(stringi)检测文件编码:
stri_enc_detect(file = "your_file.csv")从输出结果中选择置信度最高的编码,填入
fileEncoding参数即可。也可以用
read.table()(read.csv()是它的封装),指定分隔符和编码:df <- read.table("your_file.csv", sep = ",", header = TRUE, fileEncoding = "UTF-8")
内容的提问来源于stack exchange,提问作者jo_
相关产品推荐
相关产品推荐

