Ray*_* Sp 5 r arabic character-encoding csv-import
我似乎无法深究这一点,我想阅读一个包含阿拉伯字符的csv文件,但它没有正确阅读.
这是我的sessionInfo
R version 3.2.4 Revised (2016-03-16 r70336)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.4.3 plyr_1.8.3
loaded via a namespace (and not attached):
[1] magrittr_1.5 R6_2.1.2 assertthat_0.1 parallel_3.2.4 DBI_0.3.1 tools_3.2.4
[7] Rcpp_0.12.4
Run Code Online (Sandbox Code Playgroud)
我试过这个
ar <- read.csv (file.choose(), encoding = "UTF-8")
Run Code Online (Sandbox Code Playgroud)
还有这个
ar <- read.csv (file.choose(), encoding = "Windows-1256")
Run Code Online (Sandbox Code Playgroud)
它对我来说没有用,我也尝试将语言环境设置为阿拉伯语,但没有运气
Sys.setlocale("LC_ALL","Arabic")
Run Code Online (Sandbox Code Playgroud)
有什么建议?
readLines您可以使用参数读取文件warn = FALSE,然后执行read.csv使用text设置为结果的参数执行,readLines如下所示。
阿拉伯语.csv 内容:
\n\nLabelName,Label1,Label2,SpeciesLabel,Group,Subgroup,Species\n\xd8\xa7\xd9\x84\xd8\xaa\xd8\xb3\xd9\x85\xd9\x8a\xd8\xa9 1,Group 1,Subgroup 1,Species 1,1,1,1\n\xd8\xa7\xd9\x84\xd8\xaa\xd8\xb3\xd9\x85\xd9\x8a\xd8\xa9 2,Group 1,Subgroup 1,Species 1,1,1,1\n\xd8\xa7\xd9\x84\xd8\xaa\xd8\xb3\xd9\x85\xd9\x8a\xd8\xa9 3,Group 1,Subgroup 1,Species 1,1,1,1\nRun Code Online (Sandbox Code Playgroud)\n\nR代码读取csv文件:
\n\narabic <- readLines("arabic.csv", warn = FALSE, encoding = "UTF-8")\nData <- read.csv(text = arabic)\nstr(Data)\nOutput:\n\n\'data.frame\': 3 obs. of 7 variables:\n $ X.U.FEFF.LabelName: Factor w/ 3 levels "\xd8\xa7\xd9\x84\xd8\xaa\xd8\xb3\xd9\x85\xd9\x8a\xd8\xa9 1","\xd8\xa7\xd9\x84\xd8\xaa\xd8\xb3\xd9\x85\xd9\x8a\xd8\xa9 2",..: 1 2 3\n $ Label1 : Factor w/ 1 level "Group 1": 1 1 1\n $ Label2 : Factor w/ 1 level "Subgroup 1": 1 1 1\n $ SpeciesLabel : Factor w/ 1 level "Species 1": 1 1 1\n $ Group : int 1 1 1\n $ Subgroup : int 1 1 1\n $ Species : int 1 1 1\nRun Code Online (Sandbox Code Playgroud)\n