4

尝试使用read_csv2()from readrpackage 读取 csv 文件。

问题是R 的默认值成功read_csv2()识别时无法正确识别字符。read.csv2

例如:

原始值:KOZYATAĞI

如何read_csv2()识别:KOZYATA<'d0'>I

我检查了帮助文件并尝试了下面列出的编码;但是无法实现。

第一次尝试:以错误的字符结束

my_df <- read_csv2("my_path/my_file.csv")

第二次尝试:手动说明编码。

my_df <- read_csv2("my_path/my_file.csv", locale(encoding = "UTF-8"))

Error: `col_names` must be TRUE, FALSE or a character vector

第三次尝试:由于上面的错误消息,对第二次尝试进行了补充。

my_df <- read_csv2("my_path/my_file.csv", locale(encoding = "UTF-8"), col_names = TRUE, col_types = NULL)

这个没有给出错误,但仍然不能正确识别字符。

怎么做?让我知道是否需要任何其他信息。提前致谢。

4

2 回答 2

7

@Amit,感谢您的建议。

在 RStudio 上,我选择了File\Save with Encoding...以查看一些可用的编码选项。

在编码列表顶部的弹出窗口中,它显示系统默认值(我的计算机为 CP1254)。然后将它传递给编码参数,如下所示,它起作用了!

my_df <- read_csv2("my_path/my_file.csv", locale(encoding = "**CP1254**"), col_names = TRUE, col_types = NULL)
于 2016-12-05T20:22:46.143 回答
0

现在在 Rstudio 上,看起来像这样的选项,R Studio Version 1.2.1335 on Windows 10

然后,此代码有效:

read_csv("C:path/file.csv", locale(encoding = "ISO-8859-1"),col_names = TRUE,col_types = NULL)

并且西班牙特殊字符正确加载(重音和ñ)。

于 2019-09-23T21:44:07.073 回答