尝试使用readr包中的read_csv2()读取csv文件。
问题是read_csv2()在R的默认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”))
错误:
col_names
必须为TRUE,FALSE或字符向量
第3次尝试:因为上面的错误消息而增加了第2次尝试。
my_df< - read_csv2(“my_path / my_file.csv”,locale(encoding =“UTF-8”),col_names = TRUE,col_types = NULL)
这个没有给出错误但仍然无法正确识别字符。
怎么做?如果需要任何其他信息,请告诉我。提前谢谢。
答案 0 :(得分:3)
@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)
答案 1 :(得分: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)
西班牙特殊角色正确加载(重音符号和ñ)。