日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

R语言read.csv乱码问题UTF-8 BOM X.U.FEFF

發(fā)布時(shí)間:2023/12/31 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言read.csv乱码问题UTF-8 BOM X.U.FEFF 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

若使用R語(yǔ)言調(diào)用data <- read.csv("dataset.csv")文件出現(xiàn)了亂碼,解決的方法簡(jiǎn)單整理如下:

  • 查看R語(yǔ)言運(yùn)行環(huán)境的區(qū)域(locale)設(shè)置
  • > Sys.getlocale(category = "LC_ALL") [1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936"
  • 若區(qū)域設(shè)置的字符集LC_CTYPE為中文,一般可以斷定dataset.csv文件是UTF-8文件格式,此時(shí)可以加一個(gè)參數(shù):
  • data <- read.csv("dataset.csv", fileEncoding = "UTF-8")

    若還是不能讀取數(shù)據(jù)集,或者使用fileEncoding = "UTF-8"時(shí)header出現(xiàn)了X.U.FEFF奇怪的字樣,說(shuō)明UTF-8格式的文件頭帶了BOM(byte oreder mark, 字節(jié)順序標(biāo)記),此時(shí)應(yīng)該換成fileEncoding = "UTF-8-BOM":

    data <- read.csv("dataset.csv", fileEncoding = "UTF-8-BOM")

    注意:

  • 不要使用encoding = "UTF-8"的參數(shù),實(shí)際上encoding的參數(shù)相當(dāng)于分兩個(gè)步驟:
  • # 1. 讀入數(shù)據(jù) data <- read.csv("dataset.csv") # 2. 對(duì)data中有所的字符串進(jìn)行encoding轉(zhuǎn)碼,比如, # 帶中文的factor(或是character),實(shí)際上調(diào)用了:Encoding(levels(data[,1]) <- "UTF-8" # 對(duì)應(yīng)列是factor 情形# 或Encoding(data[,1]) <- "UTF-8" # 對(duì)應(yīng)列是character情形
  • 不要fileEncoding和encoding兩個(gè)參數(shù)同時(shí)使用
    原因如同注意1, 若是fileEncoding和encoding同時(shí)指定`UTF-8’, 相當(dāng)于對(duì)字符串進(jìn)行兩次轉(zhuǎn)碼。
  • 總結(jié)

    以上是生活随笔為你收集整理的R语言read.csv乱码问题UTF-8 BOM X.U.FEFF的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。