데이터 및 스프레드시트 · CSV 클리너
Excel이 CSV 필드를 자동으로 손상시키는 이유: 선행 0, 날짜 및 긴 ID
· 그것이 중요한 이유
CSV 데이터 정리 스프레드시트
스프레드시트에서 CSV를 여는 것은 중립적이지 않습니다. 우편번호는 0을 잃고, 코드는 날짜가 되며, 긴 식별자는 과학적 표기법으로 바뀝니다. 이 게시물에서는 이런 일이 발생하는 이유, 복구할 수 없는 사항, 원시 파일을 그대로 유지하는 방법에 대해 설명합니다.
누군가 열기 전까지는 괜찮았던 파일 — 우편번호 01234가 1234가 되고 피해가 다시 저장됩니다.
파일은 우편번호가 01234인 소스 시스템을 떠나 스프레드시트에서 열리고 1234로 분석가에게 반환됩니다. 원본 CSV는 형식이 잘못되지 않았습니다. 앞에 0이 붙은 텍스트가 포함되어 있었습니다. 프로그램이 열이 숫자라고 추측한 다음 해석된 값을 저장할 때 차이가 발생했습니다. 누군가 소스 파일을 덮어쓰면 이후 정리 도구는 1234가 01234인지 001234인지 알 수 없습니다. 스프레드시트에서 검사하기 전에 그대로 내보내기를 유지하세요.
열 때 추측 입력 — 스프레드시트가 텍스트에서 숫자, 날짜 및 공식을 추론하는 방법과 CSV가 다르게 말할 방법을 제공하지 않는 이유
CSV는 행, 구분 기호 및 인용된 텍스트를 표현합니다. 열별 번호, 날짜 또는 우편번호 유형을 선언하지 않습니다. 스프레드시트를 직접 열면 추측을 해야 합니다. 숫자로 시작하는 값은 숫자가 될 수 있고, 03-04는 지역에 따라 날짜로 해석될 수 있으며, =로 시작하는 값은 일부 애플리케이션에서 수식으로 해석될 수 있습니다. "01234" 인용은 자동 가져오기 마법사에 의한 향후 텍스트 분류가 아닌 CSV 구분 기호를 보호합니다.
전형적인 사상자 — 앞에 오는 0, 긴 숫자 식별자, 날짜와 유사한 모든 것, 등호로 시작하는 값
우편번호와 SKU의 앞에 오는 0, 스프레드시트 숫자 형식보다 유효 자릿수가 더 많은 식별자, 모호한 날짜 표시 문자열은 고전적인 피해입니다. 과학적 표기법 자체는 손상이 아니며 표시 선택입니다. 그러나 숫자 변환 후 긴 ID를 저장하면 정확한 숫자가 손실될 수 있습니다. 신뢰할 수 없는 데이터의 수식으로 보이는 값은 별도의 보안 위험입니다. ToolAcre의 CSV 내보내기에는 위험한 시작 앞에 붙는 수식 주입 안전 옵션이 있으며, 의도적으로 계산된 셀은 더 이상 계산하지 않는다는 단점이 있습니다.
손상이 영구적인 경우가 많은 이유 - 저장 시 정밀도가 손실되고 다른 형식으로 다시 직렬화된 날짜는 출력에서 되돌릴 수 없습니다.
20자리 고객 참조 번호를 숫자 해석 후 반올림하여 저장했다고 가정해 보겠습니다. 누락된 원래 숫자는 새 CSV에서 다시 추측할 수 없습니다. 내부 날짜로 변환되어 다른 로케일로 내보낸 날짜는 소스가 4월 3일을 의미하든 3월 4일을 의미하든 손실될 수 있습니다. 이것이 바로 "나중에 정리하겠습니다"가 안전한 첫 번째 단계가 아닌 이유입니다. 자동 입력 기능이 있는 소프트웨어가 원시 바이트를 대체하기 전에 원시 바이트를 보존하십시오.
대신 원시 텍스트 작업 — 스프레드시트가 건드리지 않은 복사본을 유지하고 가져오기 전에 텍스트로 정리합니다.
셀을 문자열로 간주하는 파서를 사용하여 텍스트 내보내기 복사본 작업을 수행합니다. ToolAcre의 CSV 클리너는 브라우저에서 구분 기호와 인용 필드를 구문 분석하고 추가 셀을 자동으로 삭제하지 않고 행 경고를 표시합니다. 헤더에 원래 선행 바이트가 여전히 포함되어 있는지, 식별자에 정확한 소스 문자가 포함되어 있는지 확인하세요. 공간이나 복제본을 정리하는 것은 필드의 의미를 해석하는 것과 별개입니다. 우편번호는 모든 문자가 숫자인 경우에도 문자열로 유지되어야 합니다.
실제 예 — SKU 및 우편번호가 포함된 제품 내보내기, 스프레드시트 왕복 변경 사항 및 텍스트 수준 정리로 유지되는 사항을 보여줍니다.
헤더 sku;postcode;description 및 행 00042;01234;"Red, small" 및 00043;00105;"Blue, Large"가 포함된 예시 내보내기를 사용하세요. 순진한 쉼표 가져오기는 세미콜론 필드를 축소하고 자동 숫자 입력은 00042 및 01234를 42 및 1234로 바꿀 수 있습니다. CSV Cleaner의 세미콜론 구문 분석은 각 설명 내부에 인용된 쉼표를 포함하여 세 개의 텍스트 열을 생성합니다. 정리된 복사본을 내보내려면 열을 대상 스프레드시트에 텍스트로 가져와야 합니다. 구매처로 보내기 전에 원시 파일과 왕복 파일을 비교하세요.
다루지 않는 내용 - 이전 저장으로 인해 이미 파괴된 값 복원 또는 스프레드시트의 가져오기 마법사 구성
이 게시물은 저장된 스프레드시트 파일에서 이미 삭제된 식별자 숫자나 선행 0을 복구할 수 없습니다. 또한 텍스트 수준 클리너는 Excel의 가져오기 마법사, 동료의 로케일 설정 또는 데이터베이스 스키마를 구성하지 않습니다. 원시 파일이 안전해지면 코드 및 ID 열에 대한 스프레드시트 공급업체의 텍스트 가져오기 지침을 따르세요. 정확한 수신자 작업 흐름을 통해 작은 샘플을 테스트합니다. "열로 열림"은 "모든 문자열이 보존됨"을 증명하지 않습니다.
스프레드시트에서 보기 전에 파일을 수정하세요. ToolAcre CSV Cleaner를 사용하면 스프레드시트에서 내보내기를 열기 전에 구분 기호, 인코딩 및 인용을 복구할 수 있습니다.
스프레드시트가 보기 전에 파일을 수정한 다음 식별자를 텍스트로 유지하는 가져오기 모드를 선택하세요. CSV Cleaner는 수정되지 않은 내보내기의 구분 기호, 인코딩 및 인용을 로컬에서 복구할 수 있습니다. 스프레드시트가 사용자를 대신하여 필드 유형을 추측하는 것을 중지하지 않으므로 손대지 않은 원본과 가져온 후 비교가 가장 중요한 보호 장치로 남아 있습니다.