두 CSV 파일 비교: 추가·삭제·변경 행을 찾는 방법
DataWork Tools 편집 · 수정 2026.11.06
같은 줄끼리 비교하면 정렬이 달라진 명부를 잘못 읽을 수 있습니다. 사번처럼 행을 유일하게 구분하는 값으로 두 파일을 비교하고, 추가·삭제·변경을 검수하는 예제입니다.
CSV 두 파일 비교: 추가·삭제·변경을 한 번씩 확인
사번으로 두 명부를 맞춰 봅니다. 줄 순서 대신 사번이 같은 항목끼리 비교하며, 기준 열 번호는 1입니다.
- 예제 불러오기를 누르면 이전 표 A와 이후 표 B가 채워집니다.
- 기준 열 번호 1(사번), 앞뒤 공백 무시 해제를 확인하고 비교 실행을 누릅니다.
- 추가 1행·삭제 1행·변경 1행·동일 1행인지 확인하고 보고서를 저장합니다.
예상 결과 추가 1행 · 삭제 1행 · 변경 1행 · 동일 1행
입력 파일과 예상 결과 자세히 보기
표 A · 이전 명부
| 사번 | 이름 | 부서 | 메모 |
|---|---|---|---|
| 0012 | 김민수 | 영업 | 서울,본사 |
| 0024 | 이지은 | 개발 | 빈 셀 |
| 0036 | 박서준 | 기획 | 신규 입사 |
표 B · 이후 명부
| 사번 | 이름 | 부서 | 메모 |
|---|---|---|---|
| 0012 | 김민수 | 기획 | 서울,본사 |
| 0024 | 이지은 | 개발 | 빈 셀 |
| 0048 | 최유리 | 영업 | 부산 |
예상 해석
| 사번 | 결과 | 확인할 내용 |
|---|---|---|
| 0012 | 변경 | 부서: 영업 → 기획 |
| 0024 | 동일 | 차이 보고서에 포함되지 않음 |
| 0036 | 삭제 | 이전 표에만 존재 |
| 0048 | 추가 | 이후 표에만 존재 |
두 파일로 직접 비교하기
- ZIP을 풀어 before.csv와 after.csv를 준비합니다.
- CSV 두 파일 비교에서 before.csv는 표 A, after.csv는 표 B에 선택합니다.
- UTF-8·쉼표·기준 열 번호 1을 지정하고 비교합니다.
- 변경 0012, 삭제 0036, 추가 0048을 원본과 대조합니다. 동일한 0024는 보고서에 나오지 않습니다.
변경 행 수와 변경 셀 수
한 사람의 부서와 메모가 모두 달라지면 요약의 변경 행은 1개이고 보고서에는 변경 셀 2개가 기록됩니다. 추가·삭제는 행 전체를 JSON 문자열로 담고, 변경은 열별 이전값·이후값을 기록합니다.
행 순서·공백·기준값
표 B의 행 순서를 바꿔도 같은 사번끼리 비교합니다. 기준값이 비거나 중복되면 임의로 한 행을 선택하지 않고 중단합니다. 앞뒤 공백 무시는 기준값과 셀 비교에만 적용하며 보고서에는 원본을 남깁니다. 대소문자는 계속 구분합니다. 사번 0012가 12로 바뀌면 삭제와 추가입니다.
헤더와 파일 형식
두 표의 열 이름과 순서가 같아야 합니다. 서로 다르면 열 편집으로 먼저 맞추세요. CSV 값 비교만 지원하며 엑셀의 색·수식 자체·댓글은 비교하지 않습니다. XLSX는 CSV 변환 후 원시 값 추출의 제한을 확인하세요.
결과가 예상과 다를 때
| 증상 | 확인·해결 방법 |
|---|---|
| 기준 열에 중복·빈값이 있음 | 사번처럼 행을 유일하게 식별하는 열이 필요합니다. 동명이인이 있는 이름 열을 쓰면 비교가 중단될 수 있습니다. |
| 같은 사람이 삭제와 추가로 나옴 | 사번 0012와 12는 다른 값입니다. 엑셀에서 앞자리 0이 사라지지 않았는지 확인하세요. |
| 변경 행 수와 보고서 행 수가 다름 | 한 사람의 여러 셀이 바뀌면 변경 행은 1개이고, 보고서에는 바뀐 셀마다 한 줄씩 나옵니다. |
실무에서 자주 묻는 질문
CSV 두 파일의 행 순서가 달라도 비교할 수 있나요?
가능합니다. 같은 행 번호가 아니라 사번·상품 코드처럼 고유한 기준 열 값으로 서로 대응되는 행을 찾습니다. 각 파일에서 기준값은 비어 있지 않고 중복이 없어야 합니다.
CSV 파일 비교에서 추가·삭제·변경은 어떻게 구분하나요?
표 B에만 있는 기준값은 추가, 표 A에만 있으면 삭제입니다. 양쪽에 있는 기준값의 다른 셀 값은 변경으로 보고하며, 변경 행 하나에 여러 셀 차이가 있을 수 있습니다.
두 CSV 파일의 열 순서가 다르면 비교되나요?
비교 전 열 이름과 순서를 같게 만들어야 합니다. 헤더가 다르면 CSV 열 편집 도구로 구조를 맞춘 다음 다시 비교하세요.
다음 작업으로 이어가기
함께 읽기
CSV 한글이 깨질 때: UTF-8과 EUC-KR 구분하기
사번 0012가 12로 바뀌는 이유와 보존 방법
CSV를 SQL INSERT로 바꾸기 전 확인할 5가지
CSV 중복 제거: 기준 열과 처음·마지막 행 유지 예제
사진 여러 장 크기 맞추기: 여백·품질·형식과 ZIP 저장
VLOOKUP 없이 두 CSV 합치기: LEFT와 INNER JOIN 차이
CSV 열 순서 바꾸기·열 이름 변경·불필요한 열 삭제
JSON을 CSV로 변환할 때 빈칸·중첩 데이터·큰 숫자 확인하기
JSON 문법 오류 찾기: 따옴표·쉼표·큰 숫자 검수 방법
CSV 파일 분할과 행·열 전치: 처리 순서와 결과 검수
CSV 공백과 빈 행 정리: 지워도 되는 값부터 구분하기
CSV와 TSV 차이: 엑셀에서 복사한 표를 파일로 바꾸기
CSV를 Markdown 표로 만들기: README에 표 붙여넣는 방법
CSV 정렬에서 10이 2보다 먼저 나오는 이유: 문자열과 숫자 정렬
CSV에서 필요한 행만 추출하기: 포함·일치·빈값 필터의 차이
JSONL·NDJSON과 JSON 배열의 차이: 줄별 로그를 변환하는 방법
JSON 비교에서 키 순서와 실제 데이터 변경을 구분하는 방법
2026 연봉 실수령액: 지급 월·부양가족·비과세액이 달라지는 이유
내 연봉은 상위 몇 퍼센트? 월소득 통계 구간으로 읽는 법
3.3% 계산과 역산: 원천징수액과 최종 세금은 다릅니다
부가세 포함과 별도: 공급가액을 1.1로 나누는 이유
시급에서 월급으로: 209시간을 모두에게 적용하면 안 되는 이유
연봉 인상률 계산: 월 증가액과 실수령 증가액 구분하기
퇴직금 예상액: 최근 3개월·평균임금·통상임금 확인하기
주휴수당 계산: 실제 근무시간과 소정근로시간 구분하기
CSV 파일 여러 개 합치기: 예제 2개로 헤더·중복·행 수 확인
엑셀 CSV 변환 방법: 예제 파일로 한글·앞자리 0·시트 확인