원본 파일과 수정된 파일을 열고 주문번호나 SKU처럼 행을 식별하는 열을 고르면 차이가 바로 나타납니다. 수정본에만 있는 행은 추가, 원본에만 있는 행은 삭제, 양쪽에 있지만 값이 다른 행은 변경으로 표시되며 변경 전후 값을 보여 줍니다. 행이 파일 안에서 어디로 옮겨 가도 변경으로 세지 않습니다. 결과는 바뀐 셀마다 한 줄씩 담은 CSV 보고서로 다운로드할 수 있습니다. 두 파일은 업로드되지 않고 브라우저 안에서 비교됩니다.
두 CSV 파일을 비교하는 방법
- 첫 번째 칸에 원본 파일을, 두 번째 칸에 수정된 파일을 여세요. 칸마다 구분 기호, 머리글, 인코딩 가져오기 설정이 따로 있으므로 세미콜론 파일과 쉼표 파일도 비교할 수 있습니다.
- 키로 맞추기를 고르고, 두 파일에 공통으로 있는 열 중에서 키 열을 하나 이상 체크하세요. 한 열만으로 고유하지 않다면
order_id와line처럼 여러 열을 쓰세요. - 필요한 비교 옵션을 정하고 요약과 차이 목록(추가, 삭제, 변경별로 걸러 볼 수 있음)을 확인한 다음, 변경 보고서를 다운로드하세요.
파일에 ID 열이 없고 행 순서가 같다는 것을 알고 있다면 행 위치로 맞추기를 쓰세요. 1행은 1행과, 2행은 2행과 비교합니다. 이 방식에서는 행이 하나만 끼어들어도 그 뒤의 모든 행이 바뀐 것처럼 보이므로, 키가 있다면 키를 쓰세요.
비교 옵션
| 대소문자 무시 | Desk Lamp와 desk lamp를 같은 값으로 봅니다. 값뿐 아니라 키 열에도 적용됩니다. |
|---|---|
| 공백 무시 | 비교하기 전에 앞뒤 공백을 지우고, 값 안의 연속된 공백·탭·줄 바꿈을 공백 하나로 봅니다. 키에도 적용됩니다. |
| 숫자 허용 오차 | 두 값이 모두 숫자이고 차이가 이 값(예: 0.01) 이하이면 같은 값으로 봅니다. 부동소수점이 아니라 정확한 십진 연산을 쓰며, 허용 오차가 0이면 45.0과 45.00을 같은 수로 봅니다. 마침표를 소수점으로 쓰고 천 단위 구분 기호가 없는 값만 숫자로 봅니다. 1,000은 텍스트로 남고 1e3은 1000으로 읽습니다. 허용 오차를 쓰면 007과 7도 둘 다 숫자로 읽혀 같은 값이 됩니다. 텍스트를 정확히 비교하려면 비워 두세요. |
| 무시할 열 | updated_at이나 내보낼 때마다 바뀌는 타임스탬프처럼 비교에서 완전히 빼는 열입니다. |
한쪽 파일에만 있는 열은 요약에 표시되고 비교하지 않습니다. 이름만 바뀐 같은 열이라면 CSV 열 매핑으로 이름을 맞추세요.
중복 키와 빈 키
키는 행 하나를 식별해야 합니다. 그렇지 않을 때도 숨기는 것은 없습니다. 요약에 반복된 키의 수와 첫 번째 키를 표시하고, 키가 같은 행끼리는 나온 순서대로 짝을 짓습니다. 원본에서 키가 1인 첫 행은 수정본에서 키가 1인 첫 행과, 두 번째는 두 번째와 비교하며, 어느 한쪽에 남는 행은 삭제나 추가로 보고합니다.
이렇게 짝을 지으면 키가 같은 두 행의 순서만 바뀐 것을 변경으로 보고할 수 있습니다. 요약에 중복 키가 언급되면 조합이 고유해질 때까지 키 열을 더 추가하세요. 키 열이 모두 빈 행은 빈 줄이나 망가진 내보내기에서 생기는 경우가 많으므로 따로 셉니다.
결과와 보고서 읽는 법
요약에는 추가, 삭제, 변경, 변경 없음 행의 수와 바뀐 셀의 총수가 나옵니다. 목록은 원본 파일 순서로 차이를 보여 주고, 그 뒤에 수정본에만 있는 행을 보여 줍니다. 각 항목에는 키와 파일별 행 번호(머리글을 빼고 데이터 행을 1부터 센 번호)가 표시됩니다. 페이지에는 처음 500개 차이만 나오고, 보고서에는 모두 들어갑니다.
change | added(추가), removed(삭제), changed(변경) 중 하나입니다. |
|---|---|
| 키 열 | 키 값입니다. 대소문자 무시나 공백 무시를 켜면 비교에 쓰인 형태(소문자나 공백을 지운 값)로 표시합니다. 행 위치로 맞출 때는 row 열 하나에 행 번호가 들어갑니다. |
original_row, updated_row | 각 파일의 데이터 행 번호입니다. 행이 없는 쪽은 비어 있습니다. |
column, original_value, updated_value | 바뀐 셀마다 한 줄입니다. 추가·삭제된 행은 한 줄씩 차지하며 이 열은 비어 있습니다. |
보고서는 수정된 파일의 이름을 딴 UTF-8 CSV로, 예를 들면 feb-changes.csv입니다. CSV 뷰어에서 열면 변경 내용을 정렬하거나 검색할 수 있습니다.
문제 해결
- 모든 행이 추가와 삭제로 나옵니다. 두 파일의 키 값이 다르게 적혀 있습니다. 예를 들어
00123과123, 또는 끝의 공백 차이입니다. 공백 무시를 켜거나 CSV 정리에서 해당 열을 고치세요. 키는 텍스트로 비교하므로 앞자리 0은 항상 차이로 봅니다. - 같은 숫자인데 변경으로 나옵니다.
45.00과45.0은 텍스트로는 다릅니다.0이나0.005같은 허용 오차를 넣으면 숫자로 비교합니다. 소수점 쉼표나 천 단위 구분 기호가 있는 숫자는 항상 텍스트로 비교합니다. - 키 열이 목록에 없습니다. 두 파일 모두에 있는 열만 키가 될 수 있고, 이름이 정확히 같아야 합니다. 머리글 전체가 한 열로 들어왔다면 가져오기 설정을 확인하세요.
- 어느 지점부터 모든 행이 변경으로 나옵니다. 행 위치로 맞추고 있는데 행이 추가되거나 삭제되었습니다. 키로 맞추기로 바꾸세요.
한도와 개인정보 보호
파일 하나는 25 MB, 10만 행, 250열, 200만 셀까지 가능합니다. 비교는 스트리밍으로 처리하지 않고 두 파일을 모두 메모리에 두며, 옵션을 바꾸면 차이가 바로 다시 계산됩니다.
파일은 브라우저 안에서 비교되며 서버로 보내지 않습니다. 두 버전을 비교하는 대신 합치려면 CSV 파일 합치기를, 파일 하나를 규칙으로 검사하려면 CSV 검사를 사용하세요.
예시
sku를 키로 하는 상품 목록 두 개를 기본 설정(정확히 비교)으로 비교한 결과입니다. 행 순서가 다르지만 상관없습니다. 대소문자 무시와 공백 무시를 켜고 허용 오차를 0.001로 정하면 00456의 stock 변경만 남습니다.
jan.csv (original) sku,name,price,stock 00123,Desk lamp,19.90,4 00456,Shelf,45.00,2 00789,Stool,12.00,9 feb.csv (updated) sku,name,price,stock 00456,Shelf,45.0,0 00123,Desk Lamp ,19.90,4 01010,Bench,80.00,1
change,sku,original_row,updated_row,column,original_value,updated_value changed,00123,1,2,name,Desk lamp,"Desk Lamp " changed,00456,2,1,price,45.00,45.0 changed,00456,2,1,stock,2,0 removed,00789,3,,,, added,01010,,3,,,
자주 묻는 질문
행 순서가 중요한가요?
키로 맞출 때는 중요하지 않습니다. 행이 파일의 어디에 있든 키로 찾습니다. 순서는 행 위치로 맞출 때만 중요합니다.
어느 파일을 원본으로 해야 하나요?
오래된 쪽입니다. 두 번째 파일에만 있는 행은 추가로, 첫 번째 파일에만 있는 행은 삭제로 보고하므로, 파일을 바꾸면 이 두 목록과 변경 전후 값도 뒤바뀝니다.
이름이 다른 열끼리 비교할 수 있나요?
두 파일에서 머리글이 같은 열만 비교하며, 키 열도 양쪽 이름이 같아야 합니다. 먼저 CSV 열 매핑으로 한쪽 파일의 열 이름을 바꾸세요.