2017-09-19 5 views
1

Excel을 사용하지 않는 직장에서 R을 사용하여 일부 분석 작업을 수행하려고합니다. 그러나 Excel에서 저장 한 CSV 파일은 R로 읽을 수 없습니다. 동일한 결과로 OpenOffice에서도 CSV를 만들려고했습니다. 시험 삼아, 나는 교육 웹 사이트에서 CSV를 다운로드 : 테스트로 R은 Excel에서 생성/변환 된 간단한 CSV 파일조차 읽지 않습니다.

http://taddylab.com/teaching.html

, 나는이 사이트에서 "pickup.csv"를 열고 시도하고는 잘 읽을했다. 그러나 Excel에서 파일을 열어 새 CSV로 저장하고 다시 읽으려고하면 더 이상 작동하지 않습니다. 이는 문제가 소프트웨어가 출력하는 CSV 파일과 관련이 있음을 나타냅니다. OpenOffice에서 만든 csv도 같은 문제가 있기는하지만 Excel에 국한된 문제는 아닙니다.

year miles price make 
    2008 17638 14995 GMC 
    2003 174000 8500 Dodge 
    2001 1500 9998 Dodge 
    2007 22422 23950 GMC 
    2007 34815 19980 GMC 
    1997 167000 5000 GMC 
    1999 142000 2800 Dodge 
    2003 86000 7900 Dodge 
    2002 115000 6700 Dodge 

어떤 생각은 무엇인가 :

Error in read.table(file = file, header = header, sep = sep, quote = quote, : 
    more columns than column names 
In addition: Warning messages: 
1: In read.table(file = file, header = header, sep = sep, quote = quote, : 
    line 1 appears to contain embedded nulls 
2: In read.table(file = file, header = header, sep = sep, quote = quote, : 
    line 2 appears to contain embedded nulls 
3: In read.table(file = file, header = header, sep = sep, quote = quote, : 
    line 5 appears to contain embedded nulls 
4: In read.table(file = file, header = header, sep = sep, quote = quote, : 
    incomplete final line found by readTableHeader on 'simplest.csv' 

이 데이터가 두 파일처럼 단지 슈퍼 간단한 모습입니다 : 실패에 대한

나는 하나의 오류 및 여러 경고를 읽 여기서 문제가 있니? 저는 한국의 직장 환경에서 일하고 있습니다. 그러나 보시다시피 파일에 이상한 마커가 없습니다. 그러나, 아이콘 내 다운로드 한 파일 사이에 다른 보여요 그래서 나는 어떤 인코딩 문제가 있는지 궁금 :

https://imgur.com/gallery/lFKUL

편집 : 여기에 실패 라인입니다. 그것은 매우 Pickup.csv 원본 파일과 testpickup.csv 내가 엑셀을 실행 한 버전입니다

> > a<-read.csv("pickup.csv") 
> > a1<-read.csv("testpickup.csv") Error in make.names(col.names, unique = TRUE) : invalid multibyte string 1 In addition: Warning messages: 1: In read.table(file = file, header = header, sep = sep, quote = 
> quote, : line 1 appears to contain embedded nulls 2: In 
> read.table(file = file, header = header, sep = sep, quote = quote, : 
> incomplete final line found by readTableHeader on 'testpickup.csv' 

를 조명 아니에요 - 예를 들면, 나는, Excel에서 pickup.csv을 열어 CSV로 저장 명중하고 TestPickup을 지명했다. 이러한 파일의 내용은 동일합니다. 명확히하기 위해 taddylab 페이지의 파일을 Read.csv 파일로 읽을 수 있습니다. Excel에서 작성한 CSV 파일을 'read.csv'로 읽을 수없는 이유가 있습니다.

해결 : 분명히 암호화가 진행 중입니다. 이것이 모든 파일 또는 모든 설정에서 작동하는지 확실하지 않지만 탭으로 구분 된 테이블로 끝난 텍스트 파일에 Excel 데이터를 복사하여 붙여 넣었습니다. 그것을 읽어 : 그것은과 가능성 문제가있는 헤더와 분리에 대한 올바른 설정을 사용으로

df2<-read.table("samplefile.txt", sep="\t", header=TRUE) 

그리고 지금은 데이터와 주변 재생할 수

+0

함께 놀러 수 있습니다 ...하지만 어떤 경우에 데이터'에서'fread'을 시도하십시오 그것을에서 읽어보십시오.테이블 '은 더 빠르며 많은 것들을 추측합니다. –

+1

내가 보여주는 조각은 저에게 효과적입니다. 오류를 재현하려면 파일을 충분히 공유하십시오. –

+0

저는 read.tabable이 아닌 read.csv를 사용하고 있습니다. 나는 그것이 실패한 코드라고 생각하지 않지만, Excel에서 출력되는 파일에 대해 설명하고 있습니다. – Prem

답변

0

대신 함수 read.csv를 사용하여 보다 일반적인 read.table 함수. 난 그냥 페이지에서 1 CSV 파일로 시도하고 잘 작동합니다.

+0

저는 read.tcs가 아닌 read.csv를 사용하고 있습니다. 페이지의 csvs가 제대로 작동합니다. 그것은 내가 CSV를 엑셀에서 생산할 때입니다 - 원본 작업 파일에서 작성된 CSV 일지라도 R은 읽을 수 없습니다 R – Prem

+0

csv 파일을 내보낼 때 세부 정보를보십시오. 언어 설정에 따라 때로는 ""또는 세미콜론을 추가하여 내보낼 수 있습니다. 쉼표 대신. Excel에서 내 보낸 파일 중 하나를 가지고 있지 않으므로 파일을 검사 할 수 없습니다. – alex2006

+0

사실, 출력 CSV 파일이 암호화 된 것 같습니다. 메모장에서 출력하려면 암호를 열어야합니다. R을 사용하여이를 해결하는 방법을 잘 모릅니다. 그러나 이것이 우리 IT 부서에 문의해야 할 사항입니다. – Prem

0

분명히 암호화가 진행 중입니다. 배우기에는 너무나 유용합니다. 미안하지만, 회사 환경에 있다면주의해야합니다.

편집 : 모든 파일이나 모든 설정에서 작동하는지 잘 모르지만 엑셀 데이터를 복사하여 탭으로 구분 된 테이블로 끝난 텍스트 파일에 붙여 넣었습니다.

df2<-read.table("samplefile.txt", sep="\t", header=TRUE) 

을 그리고 지금 나는 당신이 우리에게 실패 라인을 포기하지 않았다 데이터