2017-12-28 28 views
2

readr을 사용하여 IBM Cognos 8에서 생성 한 csv 파일을 r으로 읽으려고합니다.readr을 사용하여 IBM Cognos 8 파일 (utf 16)에서 R 데이터 프레임을 읽습니다.

예 재현성을 위해 첨부 파일 : Example csv file

다음 파이썬 코드가 작동 : 나는 R에 다음을 시도했습니다

df = pd.read_table('csv_test.csv', encoding = 'utf-16') 

, 그리고 그들 중 누구도 올바른 결과를 반환합니다. 그들은 중 오류 (불완전한 멀티 바이트 시퀀스) 또는 (중첩 된 목록 또는 유사한로) 잘못 읽어 나는 UTF-16LE를 얻을 수 guess_encoding()을 사용

csv_data <- read_table('csv_test.csv') 
csv_data <- read_table('csv_test.csv', locale = locale(encoding = 'UTF-16LE')) 
csv_data <- read_tsv('csv_test.csv') 
csv_data <- read_tsv('csv_test.csv', locale = locale(encoding = 'UTF-16LE')) 

, 나는 또한 UTF-16을 시도했다.

+2

이 [readr 패키지에 대한 개방 문제]있다 (https://github.com/tidyverse/readr/issues/306). – Gregor

+0

거기에 좋은 해결책은 없지만 [권장 중복 : UTF-16LE 인코딩으로 csv를 읽는 빠른 방법] (https://stackoverflow.com/q/36862340/903061) – Gregor

+0

감사합니다. @gregor. 기본 read.csv 파일을 시도했지만 작동하지 않았습니다. 열려있는 github 문제에 표시된 것처럼 Read_delim은 현재 작동합니다. –

답변

0

Gregor의 의견에서 언급했듯이이 경우 판독기 패키지에는 공개 문제가 있습니다.

이 문제를 해결하려면 기본 패키지 read_delim가 작동합니다

csv_data <- read.delim('csv_test.csv', stringsAsFactors = FALSE, fileEncoding = 'UTF-16LE')