본문 바로가기

CSV 앞자리 0이 사라졌을 때: 원본과 가져오기 형식부터 확인

파일·브라우저 실험작성 SW픽 편집부 · 발행
프로그램
Microsoft Excel
환경
macOS 26.6.2 · 가상 CSV·ID 문자열
버전
Python 3.12.14 · csv.DictReader·int
실험·자료 확인일

CSV 문자열: 00123 / 00007 / int 변환: 123 / 7 / 원문 문자 수: 5 / 5

CSV 앞자리 0이 사라졌을 때: 원본과 가져오기 형식부터 확인의 핵심 문제와 공개 예제 결과를 정리한 표지

CSV의 주문번호 00123이 Excel에서 123으로 보이면, 화면 표시만 바뀐 것인지 원래 다섯 글자가 사라진 것인지 먼저 구분해야 합니다. 숫자 셀에 00000 서식을 적용하면 겉모양은 되돌릴 수 있지만 원문에 앞자리 0이 몇 개였는지까지 복구해 주지는 않습니다. 원본 CSV를 다시 저장하기 전에 별도 사본으로 보존하는 것이 첫 단계입니다.

먼저 구분할 조건

주문번호·우편번호·제품 코드는 계산할 수량과 역할이 다릅니다. 00123과 123을 같은 숫자로 처리해도 되는지 데이터의 소유자가 정해야 합니다. 합계에 사용하는 금액은 숫자가 적합하지만 거래를 연결하는 ID는 원문 문자열이 중요할 수 있습니다. 모든 열을 텍스트로 바꾸거나 모든 열을 숫자로 읽는 방식은 각각 다른 오류를 만듭니다. CSV 자체는 셀 형식 정보를 저장하지 않는 텍스트 형식이라 가져오는 프로그램이 자료형을 어떻게 해석하는지도 확인해야 합니다.

CSV 앞자리 0이 사라졌을 때: 원본과 가져오기 형식부터 확인의 공개 예제 관찰 결과와 확인 항목
공개 예제의 확인 항목을 정리한 설명용 도식입니다. 실제 제품 앱 화면은 아닙니다.

직접 확인한 예제와 방법

공개 예제에는 주문번호 00123·00007과 금액 12000·7000을 넣었습니다. macOS의 Python 3.12.14에서 csv.DictReader로 읽어 두 ID가 문자열 그대로 남는지 확인한 뒤, 같은 ID에 int 변환을 적용했습니다. 결과는 123과 7이었습니다. 파일을 읽는 과정과 숫자로 바꾸는 과정을 분리한 시험이며 Excel의 자동 가져오기 화면을 실행한 기록은 아닙니다. Microsoft의 공식 가져오기 안내는 앞자리 0이 있는 열을 텍스트로 가져오는 조건을 설명합니다.

이 글의 공개 자료에서 확인한 결과
확인 항목 관찰 결과
CSV 문자열 00123 / 00007
int 변환 123 / 7
원문 문자 수 5 / 5

결과를 해석하는 기준

이 결과에서는 원본 CSV에 필요한 문자가 이미 들어 있었습니다. 따라서 원본을 고치는 작업보다 가져오기 단계의 열 형식을 바꾸는 작업이 먼저입니다. 반대로 원본에도 123만 남아 있다면 현재 파일만으로는 예전 값이 00123이었는지 000123이었는지 알 수 없습니다. 자릿수 규칙이나 이전 승인본이 있어야 재구성할 수 있습니다.

00000 같은 사용자 지정 서식은 숫자 123의 표시를 다섯 자리로 만드는 데 쓰일 수 있습니다. 그러나 다른 시스템으로 CSV를 내보낼 때도 그 표시가 어떤 문자열로 저장되는지는 실제 출력 파일을 열어 확인해야 합니다. 화면의 다섯 자리, 저장된 셀 값, 최종 CSV의 다섯 글자를 서로 같은 것으로 보지 않는 것이 중요합니다.

고정 자릿수 ID와 자유 길이 ID를 나눕니다

다음은 판단을 위한 작성 예제입니다. 기관 서식의 ID가 정확히 다섯 자리라면 숫자 123을 00123으로 표시하는 규칙을 검토할 수 있습니다. 그러나 제품 코드가 네 자리·여섯 자리로 섞인 자료에서는 같은 처리로 원문을 알 수 없습니다. 모양을 맞추는 규칙과 원문을 되찾는 작업을 구분해야 합니다.

상황 확인할 질문 먼저 할 일
다섯 자리로 정의된 코드 정상 자릿수 규칙이 있는가 텍스트 보관과 출력 문자열을 확인
서로 다른 길이의 ID 어느 0이 실제 문자였는가 원문 ID와 대조 후 처리
금액 계산 열 합계가 필요한 수치인가 ID와 다른 자료형으로 유지

대량 변환 전에 대표 ID의 첫 자리·끝 자리·자릿수를 확인하세요. 출력한 CSV에서 다시 읽은 값도 비교하면 표시 서식만 맞춘 문제를 놓치지 않을 수 있습니다.

내 자료에서 확인할 순서

  1. 원본 CSV를 작업 폴더 밖에 복사하고 일반 텍스트로 첫 몇 개 ID를 읽습니다. 원본을 편집하고 저장하는 작업은 아직 하지 않습니다.
  2. Excel에서는 현재 공식 안내의 데이터 가져오기 경로를 사용하고, 미리보기에서 ID 열을 텍스트로 취급할 수 있는지 확인합니다. 메뉴는 버전·운영체제에 따라 다릅니다.
  3. 금액·수량과 ID를 서로 다른 자료형으로 지정합니다. ID 앞자리 0을 살리기 위해 합계 열까지 텍스트로 만들지는 않습니다.
  4. 처음에는 전체 업무 자료 대신 예제 파일이나 비민감한 작은 사본을 가져옵니다. 00123·00007이 모두 기대한 문자열로 남는지 확인합니다.
  5. 업무에서 필요한 CSV를 다시 내보냈다면 일반 텍스트로 ID와 열 수를 대조합니다. 프로그램 화면을 닫았다 여는 확인도 함께 합니다.
  6. 다른 시스템에 전달할 때는 ID의 자릿수·허용 문자·누락 처리 규칙을 적습니다. 숫자로 자동 변환하지 않는다는 조건을 수신자와 맞춥니다.

잘못 바꾸었거나 확인이 어려울 때

이미 잘못 저장된 파일을 다시 텍스트 형식으로 바꾸면 잃어버린 문자가 저절로 돌아오지 않습니다. 과거 원본과 현재본을 ID 규칙에 따라 비교해야 합니다. 자릿수가 일정하지 않은 식별자에 0을 일괄 붙이면 서로 다른 ID를 새로 만들어 낼 수 있으므로 중단하고 자료 제공자의 규칙을 확인하십시오. 여러 행의 합계가 같다는 사실도 ID의 연결 관계가 정상이라는 증거는 아닙니다.

정상 완료 기준

정상 완료는 화면에 0이 보이는 상태만으로 판단하지 않습니다. 원문 ID와 가져온 값이 문자 단위로 같고, 다시 저장한 파일에서도 자릿수가 유지되며, 금액 합계는 필요한 숫자 계산을 계속해야 합니다. 공개 예제의 두 ID를 기준으로 이 세 단계를 먼저 통과시키면 대량 자료를 처리할 때도 같은 방식으로 확인할 수 있습니다.

같은 예제를 다시 확인할 자료

이번 공개 자료는 가상 주문 두 건입니다. Python 문자열·정수 변환 결과를 확인했으며 특정 Excel 버전의 실제 입력·내보내기 동작 전체를 시험한 것은 아닙니다. 원문이 남아 있지 않은 자료의 ID를 추정해서 복구하는 도구도 아닙니다.

자료는 비민감 가상 예제입니다. 손상·불일치라고 표시한 파일은 차이를 확인하는 실험용이며 업무 원본으로 사용하지 않습니다. 파일 크기·SHA-256 목록으로 내려받은 원본을 확인할 수 있습니다.

ID와 금액의 연결이 유지됐는지는 같은 합계지만 ID별 금액이 바뀐 CSV 예제에서 이어서 확인할 수 있습니다.

OFFICIAL SOURCES

확인한 공식 자료

CORRECTION

화면이 달라졌나요?

운영체제와 프로그램 버전, 달라진 단계를 알려주시면 다시 확인합니다.

정정 요청 보내기