동일한 항목의 데이터가 여러 파일로 나누어져 있을때 하나의 파일로 병합
다음 에제코드는 [CSV] 여러개의 CSV파일 처리 - 1의 CSV파일의 데이터를 하나의 CSV파일로 병합하는 코드
- 코드설명 -
13 with open(output_file, 'a', newline='') as csv_out_file:
13행
- 출력파일을 open하는 with문
- open()함수의 인수로 'w'가 아닌 'a' 사용하여 추가모드(append)로 파일 open
- 쓰기모드('w'): 이전에 처리된 출력 파일의 데이터를 덮어쓰기
- 추가모드('a'): 이전에 처리된 출력파일의 맨 끝라인에 추가하여 쓰기
17 if is_first_file:
...
21 else:
22 header = next(freader)
...
17행~25행
- if-else문은 9행에서 생성한 is_first_file 변수를 이용해 첫 번째 입력 파일과 후속 입력파일을 구분
- 헤더 행은 최종 출력 파일에 한번만 기록 되도록 하기 위함
- 17행~20행 if문 블록은 첫 번째 입력 파일을 처리하도록 하여 헤더행 포함
- 21행~25행 else문 블록은 나머지 모든 입력 파일을 처리하도록 하기 위해 출력파일에 기록하기전 22행의 next() 함수를 활용한 header처리 구문 포함
(*) 출력파일 r_merge_out_csv_files.csv를 통해 결과 확인
(*) 소스코드 및 csv 파일 첨부
'Python' 카테고리의 다른 글
[CSV] 여러개의 CSV파일 처리 - 3 (0) | 2019.01.11 |
---|---|
[CSV] 여러개의 CSV파일 처리 - 1 (0) | 2019.01.08 |
[CSV] 헤더 추가하기 (0) | 2019.01.07 |
[CSV] 행의 연속선택 (0) | 2018.12.12 |
[CSV] 열의 헤더를 사용하여 특정 열을 선택 (0) | 2018.11.27 |