한국어

데이터 및 스프레드시트 · CSV 클리너

중복 행 제거 작동 방식: 정확한 일치, 공백 및 대소문자

· 작동 방식

CSV 데이터 정리 중복

두 개의 동일한 테이블 행이 병합되고 간격이 다른 행은 별도로 유지됩니다.
원본 ToolAcre 벡터 일러스트레이션

두 행이 동일해 보이지만 여전히 바이트 단위로 일치하지 않을 수 있습니다. 이 게시물에서는 정리 도구에서 '중복'이 무엇을 의미하는지, 공백, 대소문자 및 서식이 잘못된 불일치를 생성하는 방법, 중복 제거를 통해 의도한 내용을 포착할 수 있도록 데이터를 준비하는 방법에 대해 설명합니다.

'중복 항목 제거' 뒤에 명백한 반복이 남음 — 후행 공백이나 대문자가 두 행을 다르게 만드는 이유

연락처 내보내기에서는 하나의 이메일이 공백으로 끝나거나 하나의 성이 대문자를 사용하는 동안 동일하게 나타나는 두 개의 행을 표시할 수 있습니다. 복제 버튼은 인간 유사성을 적용하지 않습니다. 제공된 페이지에서는 모든 셀의 전체 문자열 값을 비교하며, 그 순간에도 대소문자와 공백이 여전히 중요합니다.

이는 첫 번째 클릭 후에도 명백한 반복이 남아 있는 이유를 설명합니다. 이 도구는 더 위험한 결정을 피하고 있습니다. 대소문자를 변경하거나 선택한 필드를 무시하면 관련이 있는 것처럼 보이는 레코드를 병합할 수 있습니다. 소스를 검토하고 실제로 원하는 정규화를 선택한 다음 편집 후 정확한 제거를 다시 실행하십시오.

정확한 일치 비교 — 잘림 방지 공백 및 길 잃은 BOM 바이트와 같은 보이지 않는 항목을 포함한 모든 필드와 모든 문자

각 행은 모든 셀에서 구축된 ID를 받습니다. 구현에서는 유효한 CSV 텍스트가 아닌 null 문자로 이를 결합하여 쉼표가 포함된 하나의 셀이 두 개의 개별 셀과 충돌하는 일반적인 실수를 방지합니다. 두 번째 동일한 ID는 건너뜁니다. 첫 번째 행은 변경되지 않고 유지됩니다.

개요에는 보이지 않는 줄바꿈 공백과 길 잃은 BOM 바이트가 모두 특별한 처리를 받는 것처럼 언급되었습니다. JavaScript 트리밍은 Trim을 선택할 때 주변 유니코드 공백을 제거할 수 있지만 파서의 명시적 BOM 규칙은 파일 시작 부분에서만 U+FEFF를 제거합니다. 임의의 숨겨진 바이트가 있는지 모든 셀을 검색하지는 않습니다.

정확한 비교에는 전체 셀 문자열이 포함됩니다. 선행 파일 BOM만 특별히 제거됩니다.

주문이 중요합니다. 공백 제거는 모든 셀의 선행 및 후행 공백을 제거하는 반면, 축소 공백은 내부 공백을 하나의 일반 공백으로 바꿉니다. 중복 제거 전에 둘 중 하나를 적용하면 이전에 고유한 행을 동일하게 만들 수 있습니다. 제거를 실행하면 원래 문자열이 다르기 때문에 먼저 두 가지를 모두 보존합니다.

패널은 케이스 접기, Windows-1252 복구 또는 유니코드 정규화를 노출하지 않습니다. 기본 라이브러리에는 대소문자를 구분하지 않는 비교 옵션이 있지만 경로는 기본 정확한 함수를 호출합니다. 따라서 이 페이지가 대소문자 또는 인코딩을 표준화한다는 주장은 방문자가 실제로 사용할 수 있는 컨트롤을 초과합니다.

공백을 먼저 자르거나 축소합니다. 패널은 대소문자 또는 레거시 인코딩을 정규화하지 않습니다.

전체 행 동일성은 한 고객을 식별하는 것과 동일하지 않습니다. 이메일을 공유하지만 서로 다른 타임스탬프를 전달하는 두 행은 하나 이상의 셀이 다르기 때문에 둘 다 유지됩니다. 라이브러리는 선택한 열을 비교할 수 있지만 게시된 중복 페이지는 키-열 선택기를 노출하지 않으므로 해당 쌍을 판정할 수 없습니다.

이것은 누락된 마술이라기보다는 귀중한 경계입니다. 최신 레코드 선택, 필드 병합 또는 별칭을 한 사람으로 처리하려면 비즈니스 규칙이 필요하며 종종 감사 추적이 필요합니다. 검토를 위해 해당 충돌을 내보내거나 정확한 복제본으로 위장하는 대신 대상 시스템의 문서화된 병합 작업 흐름을 사용하십시오.

순서 및 생존자 — 중복 항목이 제거될 때 어떤 사본이 유지되며, 이것이 '마지막 업데이트' 데이터에 중요한 이유

정확한 중복이 발생하면 첫 번째 모양은 유지되고 이후 복사본은 제거됩니다. 살아남은 행은 원래 순서를 유지합니다. 최신 버전이 나중에 나타나더라도 한 필드라도 다른 경우에는 중복되지 않고 그대로 유지됩니다. 셀 수준에서 바이트 단위가 동일한 경우 두 복사본 중 하나를 유지하면 동일한 데이터가 생성됩니다.

행 순서가 셀 외부의 출처를 기록할 때 첫 번째 복사 규칙은 여전히 ​​작동상 중요합니다. 청소하기 전에 내보내기를 그대로 유지하고 각 작업 후에 개수를 검사하세요. ToolAcre의 실행 취소 스택은 현재 탭에서 20개의 변환을 유지하지만 다운로드한 원본은 세션이 닫힐 때 지속 가능한 참조입니다.

실행된 예 — 정확한 중복 제거로 이를 포착할 수 있도록 정규화되어 거의 중복된 연락처 내보내기, 여전히 사람의 검토가 필요한 행이 나열됨

Ada@example.com, 한 행에 Ada, 두 번째 행에 똑같은 두 개의 셀, ada@example.com과 Ada 다음에 공백이 있는 세 번째 행을 사용하여 작은 테스트를 구축합니다. 정확한 제거는 두 번째 행만 삭제합니다. 그런 다음 트리밍을 통해 후행 공백이 제거되지만 소문자 이메일은 여전히 ​​세 번째 행을 뚜렷하게 유지합니다.

그 결과는 기계적인 확실성과 인간의 판단을 구별합니다. 시스템에서 주소가 대소문자를 구분하지 않는 것으로 알려진 경우 해당 규칙을 다른 곳에 적용하고 문서화하십시오. 클리너의 증거는 더 간단합니다. 즉, 유지된 값을 변경하지 않고 동일한 행 배열이 첫 번째 발생으로 축소된다는 것을 증명할 수 있습니다.

여기서 다루지 않는 내용 — 퍼지 일치, 오타 허용 및 충돌하는 기록 병합

퍼지 이름, 오타 허용, 발음 일치 및 충돌 병합은 이 작업에서 제외됩니다. "Robert"와 "Bob"이 한 사람을 나타낼 수 있다는 점을 인식하지 못하며 유사성에 대해 두 개의 주소에 점수를 매기지 않습니다. 이러한 기술은 잘못된 긍정을 생성할 수 있으며 단순 내보내기에서 컨텍스트를 사용할 수 없도록 요구할 수 있습니다.

하위 수준 기능 지원에도 불구하고 이 페이지에는 키 열 중복 제거 기능도 없습니다. 기사는 독자가 사용할 수 있는 경로를 설명해야 하며, 통제할 수 없는 잠재적 매개변수를 설명해야 합니다. 신원 확인을 위해 일치 증거와 생존자 규칙이 표시되는 특별히 구축된 검토 프로세스를 선택합니다.

중복 제거는 이전의 정규화만큼만 우수합니다. - 인코딩 및 헤더 복구 후 ToolAcre CSV Cleaner의 중복 제거가 적합한 방식

ToolAcre의 신뢰할 수 있는 시퀀스는 검사하고 선택한 공백을 정규화한 다음 정확한 반복을 제거하는 것입니다. 인코딩 복구 및 자동 헤더 복구는 숨겨진 예비 단계가 아닙니다. 파서는 선행 UTF-8 BOM을 제거하고 구분 기호를 감지하고 구조적 문제를 보고합니다. 손상된 문자 인코딩을 다시 해석하지 않습니다.

제거 후 다운로드하기 전에 행 수를 비교하고 생존 항목을 미리 봅니다. 사라진 것은 당시 존재했던 끈 아래의 모든 세포에서 동일하다는 것이 입증되었습니다. 남은 것에는 합법적인 거의 중복된 내용이 포함될 수 있으며 이러한 불확실한 기록을 유지하는 것이 가정에 따라 고객 데이터를 자동으로 병합하는 것보다 더 안전합니다.