2017-03-01 2 views
4

R이 새 파일 (이 경우 CSV)에 대한 작업 디렉토리를 계속 검색하도록하고, 새 파일이 작업 디렉토리에 추가 된 것을 발견 할 때마다, 그 파일을 읽고 그것에 대해 (항상 같은) 작업을 수행 한 다음, 멈출 것을 말할 때까지 새 파일을 검색하는 것으로 돌아 가야합니까?R 작업 디렉토리의 새 파일을 지속적으로 검색합니다.

+0

는 일정한 간격으로 같은 스크립트를 실행하거나, 같은 무한 루프를 사용하는 것, cron 작업을 설정 then tasks}'while 루프 내에서 일시 정지를 도입 할 수 있습니다. – zx8754

+0

다음을 사용할 수 있습니다. https://github.com/bnosac/taskscheduleR – lbusett

+0

매우 비슷한 질문입니다 : 답변은 시스템 API 또는 qtbase 패키지를 사용하여 제안합니다. http://stackoverflow.com/questions/4780632/monitoring-for-changes-in-files-in-real-time – neilfws

답변

2

저는 이것을 while 루프에 넣는 것을 권장합니다. `동안 (TRUE) {list.files() ... 예 경우, 새로운 여부를 확인 :

setwd("path_you're_interested_in") 
old_files <- character(0) 
while(TRUE){ 
    new_files <- setdiff(list.files(pattern = "\\.csv$"), old_files) 
    sapply(new_files, function(x) { 
     # do stuff 
    }) 
    old_files = c(old_files, new_files) 
    Sys.sleep(30) # wait half minute before trying again 
} 
+1

꽤 많은 편집을했는데 루프는 이제 새로운 이름의 파일 만 찾습니다. 우리가 OP가 원하는 것을 알지 못하면 데이터 테이블 의존성이 필요합니다.'//'R의 주석에 대해서는 작동하지 않고 일시 정지 상태로 추가했습니다. – Gregor

+0

@Gregor 좋은 점. 도움을 주셔서 감사합니다 – Crt

+0

이것은 완벽하게 작동합니다, 감사합니다! –