如何在 R 中打开下载的包含正确重音字符和错误字符的 .csv 文件?

问题描述 投票:0回答:1

我有一个 .csv 文件,其中包含正确和误读的重音字符。例如,在第一行我有“Veríssimo”,在第二行我有“Virgí-nia”(应该是Virgínia)。 如果我什么都不做,它会打开“Virginia”拼写错误的文件。如果我尝试一种我知道的更正方法,例如使用 UTF-8 编码保存文件,那么“Veríssimo”就会拼写错误。

在 R 中,我尝试过:

dados_MG2 <- read_csv("dados_MG.csv")
,它会检测 UTF-8 编码并以拼写错误的“Veríssimo”打开。

dados_MG <- read_csv("Dados/extra/dados_MG.csv", locale = locale(encoding = "ISO-8859-1"))
我尝试强制使用不同的编码,并且使用它,“Veríssimo”拼写正确,但“Virgínia”则不然。

这是我的数据集的链接: https://github.com/elisa-fink/THM

谢谢您的帮助!

r csv utf-8 non-ascii-characters
1个回答
1
投票

您可以使用

nchar
查找包含无效 UTF-8 字符的字符串,并将其替换为使用 ISO-8859-1 编码读取的字符串:

dados_MG <- read_csv('dados_MG.csv')
dados_MG.iso <- read_csv('dados_MG.csv', locale = locale(encoding = 'ISO-8859-1'))

not.utf <- is.na(nchar(dados_MG$DS_NOME, allowNA=T))
dados_MG$DS_NOME[not.utf] <- dados_MG.iso$DS_NOME[not.utf]

grep('^Ver.ss|^Virg.ni', dados_MG$DS_NOME, value=T)
# [1] "Veríssimo" "Virgínia" 
© www.soinside.com 2019 - 2024. All rights reserved.