当我使用read.csv读取我的csv文件并使用encoding参数时,我会在其中获得一些值。
application <- read.csv("application.csv", na.strings = c("N/A","","NA"), encoding = "UTF-8")
数据集看起来像
X Y
Met<U+00A0>Expectations Met<U+00A0>Expectations
Met<U+00A0>Expectations Met<U+00A0>Expectations
NA Met<U+00A0>Expectations
Met<U+00A0>Expectations Exceeded Expectations
Did<U+00A0>Not Meet Expectations Met<U+00A0>Expectations
Unacceptable Exceeded Expectations
如何从这些值中删除?如果我不使用“encoding”参数,当我在闪亮的应用程序中显示这些值时,它被视为:
Met<a0>Expectations and Did<a0>Not Meet Expectations
我不清楚如何处理这个问题。
PS:我已经用所面临问题的例子修改了原始问题。
答案 0 :(得分:0)
两个选项:
application <- read.csv("application.csv", na.strings = c("N/A","","NA"), encoding = "ASCII")
或{readr}
application <- read_csv("application.csv", na.strings = c("N/A","","NA"), locale = locale(encoding = "ASCII"))
将UTF-8转换为ASCII将删除打印的UTF-8语法,但空格将保留。请注意,如果字符串的开头或结尾有多余的空格,您可能会获得不需要的唯一值。例如,转换为ASCII的"Met Expectations<U+00A0>"
将读取"Met Expectations "
,其不等于"Met Expectations"
。
答案 1 :(得分:0)
问题困扰我很长一段时间,我在R社区周围搜索,“r”标签中的答案都不适用于我的情况。在我扩展搜索区域之前,我在“java”标签中得到了有效的答案。 好的,对于数据框,解决方案是:
application <- as.data.frame(lapply(application, function(x) {
gsub("\u00A0", "", x)
}))
答案 2 :(得分:0)
这不是一个很好的答案,但要将你的csv恢复为UTF-8,你可以在谷歌表中打开它然后下载为.csv。然后使用trim_ws = T导入。这将解决导入问题,不会产生任何怪异。