메모장으로 CSV파일 합치기
기타 프로그램 없이, 메모장으로 CSV 파일을 3초만에 합치는 방법!
이 강의에서는 ERP나 회계 시스템에서 추출되는 다수의 CSV 파일을 메모장과 Windows 배치 파일만으로 한 번에 병합하는 방법을 다룹니다. 외부 프로그램이나 VBA 매크로 없이도 단 몇 초 만에 파일이 합쳐지며, 합쳐진 데이터에서 중복된 머릿글까지 자동 필터로 깔끔하게 정리하는 단계별 작업 흐름을 함께 살펴봅니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
실습 가이드
대량의 서버 데이터를 관리할 때 ERP 등 외부 프로그램을 사용하는 경우, 엑셀 파일 포맷(*.xlsx 또는 *.xls) 대신 CSV 파일 포맷(*.csv, Comma-Separated Values의 약자)으로 데이터를 처리하는 사례가 매우 빈번하게 발생합니다.

일반 소비자(customer), 업무용(business), 과학·학문(science) 등 분야별 데이터는 서로 호환되지 않는 파일 포맷을 사용하는 경우가 많습니다. 반면 CSV 포맷은 이러한 데이터를 서로 호환 가능하도록 연결해 주는 중간 매개체 역할을 하기 때문에 데이터 교환의 표준 포맷처럼 활용됩니다.

물론 최근에는 엑셀 파일 포맷(*.xlsx)도 다양한 업무 현장에서 사용되고 있으며, 대부분의 프로그램에서 엑셀 파일 형식의 데이터 입·출력을 지원합니다. 다만 엑셀 파일은 텍스트 형식의 Raw Data 외에도 배경색, 피벗 테이블, 표 기능 등 부가 기능을 함께 포함할 수 있어 CSV 형식보다 용량이 무겁다는 단점이 있습니다. 이러한 이유로 여전히 실제 현장에서는 데이터 입·출력 파일 포맷으로 CSV 형식을 선호하는 흐름이 이어지고 있습니다.

이전 퀵 VBA 강의에서는 여러 개의 엑셀 파일을 병합하는 VBA 매크로 만들기를 다루었습니다. 이번 강의에서는 외부 프로그램이나 VBA 매크로 없이, 메모장만 사용해서 간단하게 CSV 파일을 합치는 방법을 단계별로 알아봅니다.
메모장으로 CSV 파일 합치기
- 병합할 CSV 파일을 하나의 폴더 안에 모아 줍니다.

- 메모장을 실행한 뒤 " copy *.csv 파일병합.csv "를 입력합니다. (파일병합.csv는 다른 파일명(예: 병합.csv 등)으로 변경할 수 있습니다.)

- CSV 파일을 모아 둔 폴더에 " 파일병합.bat "이라는 파일 이름으로 저장합니다. (파일병합.bat은 다른 파일명(예: 병합.bat 등)으로 변경할 수 있습니다.)

- 해당 폴더에 Windows 배치 파일(실행 파일)이 생성됩니다. 생성된 파일을 더블클릭하여 실행합니다.

- 같은 폴더 안에 파일병합.csv 파일이 생성됩니다.

- 생성된 CSV 파일을 실행합니다. 이 파일에는 각 CSV 원본 파일의 머릿글이 그대로 남아 있으므로, 중복되는 머릿글을 제거해야 합니다. 데이터 범위에 자동 필터를 적용한 뒤 머릿글만 필터링합니다. (단축키: Ctrl + Shift + L)

- 필터링된 행을 전체 선택한 뒤 삭제합니다. (단축키: Ctrl + -)

- 자동 필터를 해제하여 CSV 파일 합치기 작업을 마무리합니다.


인코딩을 UTF-8로 바꿔해봐도 되지 않습니다.
인코딩 형식을 ANSI로 설정해보시겠어요?
기존 엑셀파일을 .csv파일로 변경해서 했는데.. 혹시 그것때문일까요?
에초부터 .csv파일이여야 하는걸까요?
기존 엑셀파일을 .csv 파일로 변경하셨을경우 그럴 수 있습니다 ^^
.csv 파일은 원칙적으로 '콤마'로 구분된 정규화된 raw data 입니다. 따라서,
기존 엑셀파일이 데이터형식에 어긋나게 작성되어 있었다면 문제가 발생할 수 있습니다.
기존 파일의 공백을 모두 제거하고, 데이터를 정렬하신 뒤, '다른이름저장'으로 CSV 형태로 변경하신 뒤 다시 시도해보시길 바랍니다.^^
답변이 도움이 되셨길 바랍니다.
감사합니다.
파일 병합시 중복값은 제외하고 병합하는 방법이 있는지요?
이전에 올려드린 파일병합 매크로를 수정하시면 중복값은 제외하고 파일을 병합하실 수 있습니다.
현재 대부분의 하드드라이브에 사용되는 NTFS 체계에서는
alphanumeric(알파벳-숫자) 오름차순 기준으로 파일을 복사합니다.
만약 원하는 순서대로 파일이 병합되지 않는다면, 병합이 완료 된 파일에서 다시 한번 더 정렬해주시면 될 듯 합니다.^^
답변이 도움이 되셨길 바랍니다.
파일이름을 추가하는 것은 불가능합니다.
파일이름을 같이 추가하시려면 파워쿼리 기능이 좋은 해결책이 될 수 있습니다.
엑셀 2016 이상 버전을 사용중이시라면, '파워쿼리 파일 병합' 으로 구글링 해보셔서 관련 내용을 확인해보시겠어요?^^
감사합니다.
동작을 못하나요?
bat파일 실행시켜도 작동이 안되네요
네트워크 폴더일 경우 접근권한에 따라 bat 파일 실행이 제한될 수 있습니다.^^;