지저분한 CSV 파일을 정리하는 방법
CSV 클리너를 열고 자동 감지 시 구분 기호가 있는 파일을 로드합니다. 행과 열 개수를 먼저 확인하세요. 열 개수가 1이면 구분 기호가 잘못된 것이며 세미콜론이나 탭으로 설정하면 일반적으로 파일 전체가 수정됩니다.
그런 다음 데이터를 터치하기 전에 특정 행 번호를 지정하는 파서 경고를 살펴보세요. 정리한 다음 CSV 또는 JSON으로 내보냅니다. 모든 것이 브라우저의 작업자에서 실행됩니다. 행은 업로드되지 않습니다.
수출품이 파손된 이유
CSV는 형식이 아닌 일련의 규칙입니다. 두 응용 프로그램 모두 CSV 지원을 주장하지만 구분 기호, 인용 스타일, 줄 끝 및 문자 인코딩에 대해 동의하지 않을 수 있습니다.
구분 기호는 가장 일반적인 놀라움입니다. 쉼표를 소수 구분 기호로 사용하는 국가에서 판매되는 소프트웨어는 쉼표가 이미 사용되어 있기 때문에 세미콜론으로 구분된 파일을 내보내는 경우가 많습니다. 해당 파일은 여전히 .csv으로 끝나며 쉼표를 가정하는 도구는 모든 행을 단일 열로 축소합니다.
인코딩은 두 번째입니다. UTF-8 파일은 보이지 않는 3바이트 바이트 순서 표시로 시작되는 경우가 많습니다. Windows의 Excel에서는 이를 사용하여 UTF-8을 인식합니다. 다른 많은 도구에서는 이를 예상하지 않으므로 첫 번째 헤더 이름에 붙어 있고 id라는 열은 자동으로 조회와 일치하지 않는 열이 됩니다.
세 가지 숫자로 진단하다
자동 감지는 각 후보 구분 기호로 샘플을 구문 분석하고 가장 일관되게 직사각형 결과를 생성하는 것을 선택하므로 세미콜론으로 구분된 파일의 인용 필드 내부에 쉼표가 표시되지 않습니다. 대부분의 경우 맞습니다. 미리보기에서는 그렇지 않은 경우를 알려줍니다.
- 열 수. 1이면 구분 기호가 잘못된 것입니다. 세미콜론을 시도한 다음 탭을 시도하십시오.
- 행 수. 예상보다 훨씬 높으면 파일에 업스트림 항목이 이미 엉망이 된 인용된 줄 바꿈이 포함되어 있을 수 있습니다.
- 경고 횟수. 각 경고에는 행 번호의 이름이 지정되고 텍스트 편집기가 계산하는 방식으로 계산되므로 가서 볼 수 있습니다.
경고 읽기
불규칙한 행은 행에 머리글과 다른 수의 셀이 있음을 의미합니다. 그리드를 정리하기 위해 아무것도 버리지 않습니다. 짧은 행은 공백으로 채워지고 긴 행은 추가 값을 유지합니다. 테이블을 직사각형으로 보이도록 누군가의 데이터를 조용히 삭제하는 것은 청소 도구가 할 수 있는 최악의 일이므로 수행되지 않습니다.
닫히지 않은 따옴표는 큰따옴표가 열렸지만 닫히지 않았음을 의미하므로 그 뒤의 모든 내용은 하나의 거대한 필드로 읽혀집니다. 이는 거의 항상 소스의 실제 손상이므로 다운스트림에 패치를 적용하는 것보다 파일이 생성된 위치를 수정하는 것이 좋습니다.
두 경우 모두 여러 가지 가능한 수정 사항이 있고 어느 것이 적용되는지 알고 있기 때문에 도구는 이를 복구하기보다는 이를 보고합니다.
올바른 순서로 청소하세요
수식 주입 안전 내보내기는 기본적으로 켜져 있으며 여기서는 진정한 보안 결과를 제공하는 유일한 옵션입니다. =, +, - 또는 @로 시작하는 셀은 스프레드시트 애플리케이션에서 수식으로 처리되므로 누군가가 파일을 열 때 신뢰할 수 없는 소스에서 도착하는 값이 실행될 수 있습니다. 안전한 내보내기는 해당 셀 앞에 아포스트로피를 붙여서 계산을 중지합니다. 이는 버그가 아닌 완화에 내재된 계산하려는 모든 항목을 포함합니다.
- 공백을 먼저 잘라냅니다. 후행 공백만 다른 두 행은 잘라내기 전까지는 중복되지 않습니다.
- 두 번째로 중복 행을 제거합니다. 첫 번째 발생이 유지되므로 살아남은 순서는 변경되지 않습니다.
- 헤더 이름을 바꾸고 내보낼 열을 선택합니다.
- 필요한 경우 정렬하십시오. 숫자 열이 감지되어 숫자별로 정렬되므로 9가 10보다 앞에 옵니다.
- 다운로드하기 전에 내보내기 옵션, 특히 수식 주입 설정을 확인하세요.
내보내기 인코딩 선택
파일이 Windows의 Excel용인 경우 UTF-8 byte 순서 표시를 켜서 인코딩을 감지하는 데 사용합니다. 이 기능이 없으면 악센트가 있는 문자와 비라틴어 스크립트가 두 번 클릭하면 모지베이크처럼 나타날 수 있습니다.
일부 엄격한 파서는 마크를 데이터로 취급하기 때문에 파일이 스크립트, 데이터베이스 가져오기 또는 다른 프로그램을 제공하는 경우 OFF로 두십시오.
실제 예: 하나의 열로 열리는 12,000행 내보내기
유럽 CRM의 고객 내보내기는 편집기에서 12,000개의 행과 단일 열로 열립니다. 헤더 행에는 이름;이메일;국가;가입 날짜가 표시됩니다.
- 파일을 로드합니다. 자동 감지 보고서 4개 열; 그렇지 않은 경우 구분 기호를 수동으로 세미콜론으로 설정하십시오.
- 경고를 읽어보세요. 418, 2,905, 7,110에 3개의 불규칙한 행이 있다고 가정해 보세요.
- 저 세 줄을 보세요. 회사 이름 안에 이스케이프 처리되지 않은 세미콜론이 포함되어 있습니다. 즉, 추가 셀이 유지되므로 아무 것도 손실되지 않습니다.
- 공백을 잘라낸 다음 중복된 내용을 제거하세요.
- 파일이 Excel을 사용하는 동료에게 전달되므로 구분 기호로 쉼표를 사용하고 바이트 순서 표시를 사용하여 CSV로 내보냅니다.
결과: 바이트 순서 표시, 4개의 열 및 중복 행이 사라진 쉼표로 구분된 UTF-8 파일입니다. 세 개의 문제 행은 추가 셀이 그대로 남아 있으며, 테이블을 깔끔하게 만들기 위해 삭제하는 대신 소스에서 수정하도록 플래그가 지정되어 있습니다.
도구 열기
장치의 Web Worker를 구문 분석하고, 발견한 모든 셀을 유지하며, 추측할 수 없는 문제를 보고합니다.
여기에 포함되지 않는 내용
- 전체 파일은 장치 메모리에 보관됩니다. 한도는 50 MB이며, 휴대폰은 노트북보다 훨씬 먼저 어려움을 겪을 것입니다.
- 모든 행이 정리되고 내보내지더라도 처음 100개 행만 미리보기에 표시됩니다.
- 인코딩 감지는 UTF-8 byte 순서 표시로 제한됩니다. Windows-1252 또는 Shift-JIS로 저장된 파일은 UTF-8로 읽혀지며 대체 문자가 표시될 수 있습니다. 소스 애플리케이션에서 UTF-8로 다시 내보냅니다.
- UTF-8만 작성됩니다. 레거시 인코딩은 생성되지 않습니다.
- CSV에는 시트 개념이 없으므로 다중 시트가 지원되지 않습니다.
- 인용이 이미 손상된 파일은 보고되고 복구되지 않습니다.
- 실행 취소는 마지막 20개 작업으로 제한됩니다.