我的数据集包含很多姓。这些姓氏用变音符号以及其他特殊字符(例如č,á,ñ等)书写。
[通过以以下方式读取数据(使用encoding =“ latin1”),我设法以适当的方式显示了变音符号:
read_data <- function(directory,debug=FALSE){
file_list = list.files(path = directory,
pattern = "*.csv",
full.names = TRUE);
df_read = data.frame();
for (filename in file_list){
df_temp = read_delim(filename,
delim=';',
locale = locale(encoding = "latin1"));
if(debug){
print(paste0(c(filename, " : ", dim(df_temp))));
}
df_read = rbind(df_read, df_temp);
}
names(df_read) = make.names(names(df_read))
return(df_read)
}
不幸的是,我无法以适当的方式显示其他特殊字符。是否可以使用其他编码方式或以其他方式读取csv文件(包括所有特殊字符)?
同时,我尝试了许多不同的方法来解决编码问题。到目前为止,我能得到的最好的结果是使用以下读取功能:
read_data <- function(directory,debug=FALSE){
file_list = list.files(path = directory,
pattern = "*.csv",
full.names = TRUE);
df_read = data.frame();
for (filename in file_list){
df_temp = read.csv(filename,encoding="UTF-16LE", sep=";", header=TRUE);
if(debug){
print(paste0(c(filename, " : ", dim(df_temp))));
}
df_read = rbind(df_read, df_temp);
}
names(df_read) = make.names(names(df_read))
return(df_read)
}
[仍然有一个特殊字符显示为“?”,但其余问题可以通过使用“ read.csv”代替“ read_delim”并使用编码“ UTF-16LE”来解决]]