2017-11-09 9 views
0

data.table 라이브러리를 사용하여 날짜가있는 이러한 종류의 CSV를 어떻게 완벽하게 읽을 수 있습니까?날짜가있는 R data.table csv를 어떻게 읽을 수 있습니까?

date 
2011-12-31T12:00:00Z 
2011-12-31T13:00:00Z 
2011-12-31T14:00:00Z 
2011-12-31T15:00:00Z 
2011-12-31T16:00:00Z 
2011-12-31T17:00:00Z 
2011-12-31T18:00:00Z 
2011-12-31T19:00:00Z 

내가 그 인식되지 않는 날짜 형식이 문제 :

경고 메시지 FREAD의 :이 있기 때문에 2 행에 데이터 입력을 시작하고 1 호선을 폐기하는 것은 너무 적거나 너무 많은 항목이 될 열 이름 또는 데이터 : 날짜

나는 그것을 읽는 데 사용할

:

data<-fread(data.csv,header=T) 

을 그리고 반환 data.table은 다음과 같습니다

2011-12-31T12 00 00Z 
2011-12-31T13 0 00Z 
2011-12-31T14 0 00Z 
2011-12-31T15 0 00Z 
2011-12-31T16 0 00Z 
2011-12-31T17 0 00Z 
2011-12-31T18 0 00Z 

감사!

답변

0

나는 해결책 발견 :

data<-fread("data.csv",sep=",") 
+2

'9월 = '\ 더 강력한 이유 n''는 – MichaelChirico

+0

을 더 강력 ? – Jesus

+1

'sep = ',''는 (예 : 제시된대로) 파일에 대해 작동하지만 수백만 줄과 수백 개의 열이있는 파일에서 예기치 않게 나타날 수있는 'sep'가 어디에 있는지 알기가 어렵습니다 . 'sep = '\ n'''은 그것을 제거합니다. – MichaelChirico

1

당신은 data.table (1.10.5+)의 개발 버전으로 설치를 업데이트하려고 할 수 있습니다; 파일이 다른 입력없이 읽와

# if this doesn't work for you, check the Installation page on GitHub 
install.packages('data.table', type = 'source', 
       repos = 'http://Rdatatable.github.io/data.table') 

: 다음 sep 검색 논리는 말을 조금 개선

fread('date 
2011-12-31T12:00:00Z 
2011-12-31T13:00:00Z 
2011-12-31T14:00:00Z 
2011-12-31T15:00:00Z 
2011-12-31T16:00:00Z 
2011-12-31T17:00:00Z 
2011-12-31T18:00:00Z 
2011-12-31T19:00:00Z 
') 
#     date 
# 1: 2011-12-31T12:00:00Z 
# 2: 2011-12-31T13:00:00Z 
# 3: 2011-12-31T14:00:00Z 
# 4: 2011-12-31T15:00:00Z 
# 5: 2011-12-31T16:00:00Z 
# 6: 2011-12-31T17:00:00Z 
# 7: 2011-12-31T18:00:00Z 
# 8: 2011-12-31T19:00:00Z