![](/img/trans.png)
[英]R: Convert wrong display of foreign characters into a correct encoding (double mojibake)
[英]Automated encoding repair in R for foreign characters
我有一个.csv
数据框df
具有100,000+行和两列,分别代表城市和国家/地区名称(在获得网站许可的情况下进行了抓取),其中数据的子集如下所示:
df <- read.csv("country_dat.csv", header = TRUE, sep = ",", stringsAsFactors = FALSE)
df
city country
1 Huntsville, Alabama US
2 Nyn_shamn Sweden
3 J__li Finland
该文件包含多种编码,因此我尝试了以下操作以修复后期处理中的编码错误:
library(rvest)
guess_encoding(df$city[2])
encoding language confidence
1 ISO-8859-1 en 0.30
2 ISO-8859-2 hu 0.20
3 UTF-8 0.15
4 UTF-16BE 0.10
5 UTF-16LE 0.10
6 Shift_JIS ja 0.10
7 GB18030 zh 0.10
8 EUC-JP ja 0.10
9 EUC-KR ko 0.10
10 Big5 zh 0.10
repair_encoding(df$city[2])
Best guess: ISO-8859-1 (56% confident)
[1] "Nyn_shamn"
这显然是行不通的。 是否可以自动执行维修编码过程而不必再次刮擦网站?
编辑:所需的输出将如下所示:
city country city_fixed
1 Huntsville, Alabama US Huntsville, Alabama
2 Nyn_shamn Sweden Nynäshamn
3 J__li Finland Jääli
您能否提供所需的输出? “'s-Hertogenbusch'是有效的荷兰城市名称,因此我不明白为什么这是“显然不起作用”。
另一个选择是使用en2cutf8()
,它应该协调您的输入-但是,我不确定您是否会丢失任何信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.