>

처음에 바이트 순서 표시 (U + FEFF)가있는 텍스트 파일이 있습니다. R에서 파일을 읽으려고합니다. 바이트 순서 표시를 피할 수 있습니까?

fread 기능  ( data.table 에서  package)는 파일을 읽지 만 ļ»æ 를 추가합니다.  첫 번째 변수 이름의 시작 부분에 :

> names(frame_pers)[1]
[1] "ļ»æreg_date"

read.csv 도 마찬가지입니다  기능.

현재 첫 번째 열 이름에서 BOM을 제거하는 기능을 만들었지 만 BOM을 자동으로 제거하는 방법이 있어야한다고 생각합니다.

remove.BOM <- function(x) setnames(x, 1, substring(names(x)[1], 4))
> names(frame_pers)[1]
[1] "ļ»æreg_date"
> remove.BOM(frame_pers)
> names(frame_pers)[1]
[1] "reg_date"

R 세션에 기본 인코딩을 사용하고 있습니다 :

> options("encoding" = "")
> options("encoding")
$encoding
[1] ""


  • 답변 # 1

    read.csv(..., fileEncoding = "UTF-8-BOM") 를 해봤 니 ?. 와이즈 비즈  말한다 :

    와이즈 비즈 commit

    이 커밋으로 버전 1.9.6과 1.9.8 사이에서 처리되었습니다. 당신의 ?file 를 업데이트  이 문제를 해결하려면 설치하십시오.

    한 번만

    As from R 3.0.0 the encoding ‘"UTF-8-BOM"’ is accepted and will remove a Byte Order Mark if present (which it often is for files and webpages generated by Microsoft applications).

    를 사용할 수 있습니다 :

    data.table
    
    
    fread

  • 이전 Azure AD B2C 셀프 서비스 비밀번호 재설정 링크가 작동하지 않습니다
  • 다음 javascript - jQuery mobile에서 tap과 vclick의 차이점은 무엇입니까?