R

时间:2019-07-18 22:43:41

标签: r text character-encoding special-characters

我正在使用具有各种非ASCII /双字节字符的自由文本字段将数据加载到R中。根据我用于加载数据的功能或数据存储的格式(.csv.xlsx),字符的显示方式有所不同。

具体来说,如果我将read.csv.csv文件一起使用,或者将read_excel.xlsx文件一起使用,则字符显示为:Orientaci�n m�s

同时,如果我将read_csv.csv文件一起使用,它们将显示为:Orientaci�n m�s

是否存在文件格式/数据加载组合来解决此问题?还是一旦加载完毕,是否可以通过某种方式解码两种格式的数据?我探索了多种方法,包括更改编码参数(如适用)和decoder程序包,但是我什么都无法工作。

有想法吗?

编辑:根据下面的评论,我尝试了以下操作:

readr::guess_encoding("file with issue.csv")
    # A tibble: 2 x 2
  encoding   confidence
  <chr>           <dbl>
1 UTF-8            1   
2 ISO-8859-1       0.52

readr::guess_encoding("file without issue.csv")
guess_encoding("Goal_Details.csv")
# A tibble: 2 x 2
  encoding     confidence
  <chr>             <dbl>
1 UTF-8              1   
2 windows-1252       0.51

iconv(x,"ISO-8859-1","windows-1252")

x对应于该问题的字符串/字段,但仍不能解决问题。

有想法吗?

1 个答案:

答案 0 :(得分:0)

在进一步调查中,答案是已经解码。在某些时候,原始字符没有被解码,因此Windows默认情况下基本上是说“我不知道这是什么”,并且它对任何非ASCII字符都执行此操作。

例如,一旦到达这一点,就无法在á和¿之间进行区分。这些类型的字符都有人行横道,但是在这里行不通,因为替换必须在语言级别进行,这是完全不同的问题。

从本质上讲,要么要么替换或删除“。”,然后运行多种语言的拼写检查器。