2012-11-30 3 views

답변

5

후 전체 파일 이름을 모르는이 경우

read.csv("abc_*") 

, 당신은 이런 식으로 작업을 수행 할 수 있습니다

read.csv(dir(pattern='^abc_')[1]) 

하는 경우가 이 방법은 첫 번째 히트를 사용합니다. 좀 더 정교한 버전에서는 모든 일치를 반복하여 하나의 데이터 프레임이나 그와 비슷한 것으로 추가 할 수 있습니다.

패턴은 정규 표현식을 사용하므로 예상 한 것과 약간 다릅니다 (그리고 첫 번째 샷에서 내가 질문에 대답하기 위해 잘못 가정 한 것).

read.csv(dir('path/to/your/file', full.names=T, pattern="^abc")) 

귀하의 경우 제출 된 경로 c:\\users\\user\\desktop을 할 수 있으며, : 세부 사항은 당신이 제출하려는 디렉토리가있는 경우, 그에 따라 dir 명령을 수정 할 수있다 ?regex


를 사용하여 찾을 수 있습니다 위와 같은 패턴. full.names=Tdir()은 파일 이름뿐만 아니라 전체 경로를 출력하도록합니다. 어떤 일이 일어나고 있는지 이해하려면 을 read.csv없이 실행 해보십시오.


당신이 완전한 문자열로 경로를 부여하려면

는, 다시 조금 더 복잡해진다 :

filepath <- 'path/to/your/file/abc_' 
read.csv(dir(dirname(filepath), full.names=T, pattern=paste("^", basename(filepath), sep=''))) 

당신의 이름은 어떤 정규 표현식 키워드가 포함 된 경우 프로세스가 실패합니다. 당신은 대응하는 이스케이프 시퀀스를 선행으로 대체해야합니다. 하지만 또 다른 주제입니다.

+1

과 같은 검색 기준을 사용하고 싶습니다.''abc _ * ''는'abc_ (와일드 카드)'가 아니라'abc (zero times more _)'와 일치합니다. 그러므로'abc.txt' 또는 그와 비슷한 것도 찾을 것입니다. –

+0

어리석은 나를. 물론 당신 말이 맞습니다. 내 대답을 적절히 편집했습니다. – Thilo

+0

위의 구문을 시도했습니다. 하지만 오류가 발생합니다. 파일 (파일, "rt")에 오류가 있습니다 : 연결을 열 수 없습니다. (파일 "", "rt" 또한 : (파일 "RT") 파일에서 : 열린 파일 'NA'수 없습니다 메시지 경고 나는 확실하지 않다 해당 파일이나 디렉토리 내가 여기 무슨 일을하고있는 중이을 .... –

관련 문제