2012-05-13 2 views
0

일부 dbf 형식 파일을 포함하는 세 개의 폴더 (예 : folder1, folder2 및 folder3)가 있습니다. 내가 가지고 있다고 가정하면 :파이썬에서 파일 수집하기

0345.dbf, 2345.dbf, 4444.dbf, 6767.dbf, 7623.dbf in folder1 
0222.dbf, 0345.dbf in folder2 
3423.dbf, 4827.dbf, 5635.dbf, 7623.dbf in folder3 

예를 들어, "0345.dbf"는 folder1과 folder2로 표시됩니다. 마찬가지로 folder1과 folder3에는 두 개의 "7623.dbf"가 있습니다. 그러나 그들은 서로 다른 내용의 서로 다른 파일입니다. 다음과 같이

나는 두 개의 열이있는 csv 파일 (list.csv)에 저장된 추가 정보가 : 그 규칙에 따르면

0222 f2 
0345 f2 
2345 f1 
3423 f3 
4444 f1 
4827 f3 
5635 f3 
6767 f1 
7623 f3 

, 나는 Folder2 폴더에서 "0345.dbf"를 선택해야합니다, 폴더 1에서 가져온 것이 아닙니다. 그리고 "7623.dbf"는 folder3이 아니라 folder1에서 가져온 것입니다.

9 개의 파일을 모두 수집하여 csv 파일에 기록 된 선택 규칙에 따라 폴더 (예 : "d :/collect")에 저장할 수 있습니까? 감사.

답변

1

dict에 CSV 파일을 읽고 column1을 column2로 매핑하십시오. 입력 폴더를 읽을 때 각 파일의 확장자없이 기본 이름을 추가합니다 (예 : os.listdir - 확장자를 rsplit 또는 rpartition으로 잘라냅니다). dict의 조회가 현재 디렉토리 이름과 일치하면이를 가져옵니다. 그렇지 않으면 아닙니다.