我正在使用具有各种非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
对应于该问题的字符串/字段,但仍不能解决问题。
有想法吗?
答案 0 :(得分:0)
在进一步调查中,答案是已经解码。在某些时候,原始字符没有被解码,因此Windows默认情况下基本上是说“我不知道这是什么”,并且它对任何非ASCII字符都执行此操作。
例如,一旦到达这一点,就无法在á和¿之间进行区分。这些类型的字符都有人行横道,但是在这里行不通,因为替换必须在语言级别进行,这是完全不同的问题。
从本质上讲,要么要么替换或删除“。”,然后运行多种语言的拼写检查器。