繁体   English   中英

R中针对外来字符的自动编码修复

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM