2017-01-31 4 views
1

여러 파일을 한 번에 압축을 풀고 내 R 대시 보드의 데이터 프레임으로 추가해야합니다.여러 zip 파일을 추출하고 R에서 해당 CSV 파일을 읽을 수 있습니까?

나는 현재이 코드를 사용하고 있습니다 :

zipF<- "/Users/sahilverma13/Desktop/chat_data_2017-01-30_IST.zip" 
outDir<-"/Users/sahilverma13/Desktop" 
unzip(zipF,exdir=outDir) 

을하지만 별도로 모든 파일에 대해 그것을 할 수 있습니다.

zipF <- list.files(pattern="*.zip") 

와일드 카드를 사용해 보았지만 작동하지 않습니다.

도와주세요.

+0

시도해보십시오.이'zipF <- list.files (pattern = ".zip", full.names = T)'; 'sapply (zipF, unzip, exdir = ...)' –

답변

0

종종 plyr 패키지의 ldply 함수를 사용하여 여러 파일을 읽거나 처리합니다.

library(plyr) 

# get all the zip files 
zipF <- list.files(path = "/your/path/here/", pattern = "*.zip", full.names = TRUE) 

# unzip all your files 
ldply(.data = zipF, .fun = unzip, exdir = outDir) 

리처드가 지적했듯이 이것은 완전하지 않습니다 (아침에 많은 커피도 좋지 않습니다).

# get the csv files 
csv_files <- list.files(path = outDir, pattern = "*.csv") 

# read the csv files 
my_data <- ldply(.data = csv_files, .fun = read.csv) 

나는 Joel a lot의 의견을 좋아했습니다. 나는 plyr 패키지를 너무 많이 사용하여 sapply 함수를 사용할 수 있다는 사실을 잊어 버렸습니다. 어쩌면 사용하는 것이 더 낫습니다!

+0

이것은 문제의 절반이지만 csv 파일을 R –

+0

으로 읽지 않습니다. 완벽하게 작동합니다. 감사합니다! 단 한 줄 # 제외 는 CSV 파일을 읽을 my_data <- ldply (.DATA = csv_files, .fun = read.csv) 이 줄은 작동하지 않습니다. –

+0

확인 만하고, :''plyr' 라이브러리를 설치 했습니까? 그리고'#csv 파일을 읽음 '은 주석 처리 된 행입니다. 오류가 있습니까? – ricoderks

관련 문제