다운로드한 CSV에서 이름은 알아볼 수 없는 문자로 보이고, 상품코드 004812는 4812로 바뀌었다면 두 가지 변환 문제가 함께 일어났을 수 있습니다. 한글은 문자 인코딩, 앞자리 0은 열의 데이터 형식을 확인해야 합니다. 파일 이름을 바꾸거나 열 너비를 늘리는 것만으로는 해결되지 않습니다.
이 글은 Windows 데스크톱 Excel의 텍스트/CSV 가져오기를 기준으로 합니다. 메뉴는 버전에 따라 다를 수 있습니다. 예시는 설명용 가상 데이터이며 실제 사용자 파일을 테스트한 결과가 아닙니다.
증상에 따라 먼저 구분하세요
- 한글만 깨짐: 파일을 저장한 인코딩과 Excel이 해석한 인코딩이 다를 가능성이 있습니다.
- 코드의 앞자리 0이 없어짐: 식별자를 숫자로 인식했을 수 있습니다.
- 긴 번호 끝자리가 달라짐: 숫자 변환 과정에서 정밀도가 손실됐을 수 있습니다. 표시 형식만 고쳐서는 원래 값을 되찾지 못할 수 있습니다.
- 내용이 한 열에 몰림: 쉼표 등 구분 기호를 확인합니다. 이것은 한글 인코딩 문제와 별개입니다.
1. 원본 CSV를 남겨 두세요
변환된 화면에서 바로 덮어쓰지 마세요. 내려받은 CSV를 별도 위치에 복사한 뒤 작업합니다. 이미 004812가 4812로 저장됐다면 Excel은 원래 몇 자리였는지 알 수 없습니다. 가능하면 서비스에서 CSV를 다시 내려받아 비교하세요.
2. 더블클릭 대신 텍스트/CSV 가져오기를 사용하세요
- 빈 Excel 통합 문서를 엽니다.
- 데이터 → 데이터 가져오기 → 파일에서 → 텍스트/CSV에서를 선택합니다. 버전에 따라 데이터 탭에 텍스트/CSV가 바로 표시됩니다.
- 원본 CSV를 선택한 뒤 미리보기에서 한글과 열 분리를 확인합니다.
- 파일 원본 또는 인코딩 항목에서 내보낸 서비스가 지정한 인코딩을 선택합니다. UTF-8 파일이라면 UTF-8로 읽어야 합니다. 무조건 특정 인코딩을 고르지 말고 이름·주소 등 여러 셀을 확인하세요.
- 구분 기호가 쉼표인지, 세미콜론인지 원본 형식에 맞게 선택합니다.
Microsoft는 BOM이 포함된 UTF-8 CSV는 일반적으로 바로 열 수 있고, 그렇지 않은 경우 Power Query를 통한 가져오기를 안내합니다. 파일이 UTF-8이라는 이유만으로 모든 열의 값까지 안전하게 보존되는 것은 아닙니다.
3. 코드와 번호 열은 불러오기 전에 텍스트로 지정하세요
- 미리보기에서 데이터 변환을 선택합니다.
- 상품코드·우편번호·회원번호처럼 계산하지 않는 식별자 열을 선택합니다.
- 데이터 형식을 텍스트로 지정합니다. 열 유형 변경 창이 나타나면 현재 바꾸기를 선택해 자동으로 지정된 형식을 텍스트로 대체합니다. 이미 숫자로 바뀐 결과 뒤에 텍스트 변환만 덧붙이면 사라진 0이 복구되지 않을 수 있으므로 원본과 대조합니다.
- 수량과 금액처럼 계산할 열은 목적에 맞는 숫자 형식을 유지합니다.
- 닫기 및 로드로 가져온 뒤 아래 기준으로 값을 비교합니다.
4. 한글과 식별자를 별도로 검수하세요
예를 들어 원본의 상품명이 ‘파란 케이블’, 상품코드가 004812, 수량이 7이라면 가져온 결과에서도 이름은 동일하고 코드는 여섯 자리여야 합니다. 수량은 계산 가능한 숫자여야 합니다. 이 예시의 숫자는 검수 방법을 설명하기 위한 값입니다.
- 첫 행뿐 아니라 중간과 마지막 행의 한글도 비교합니다.
- 코드 셀의 수식 입력줄에서 실제 값에 0이 남아 있는지 확인합니다.
- 행 개수, 열 개수, 합계가 필요한 열을 원본과 대조합니다.
- 작업용 결과는 Excel 통합 문서 형식으로 저장해 가져오기 결과를 보관합니다. CSV로 다시 내보내야 한다면 별도 파일로 만들고 다시 확인합니다.
해결되지 않을 때
다른 인코딩을 선택해도 한글이 복원되지 않으면 원본 자체가 손상됐는지 확인해야 합니다. 내보내기 담당자에게 파일의 문자 인코딩과 구분 기호를 문의하세요. 원본에 이미 물음표가 저장됐거나 긴 번호가 변형된 경우에는 화면 설정으로 복구할 수 있다고 단정할 수 없습니다. 원래 시스템의 데이터와 비교하는 것이 우선입니다.
FAQ
사용자 지정 표시 형식으로 0을 붙이면 되나요?
정해진 자릿수로 화면에 보이게 할 수는 있지만 원본 값을 복원하는 방법과는 다릅니다. 자릿수가 서로 다른 식별자를 일괄 보정하면 잘못된 코드가 만들어질 수 있습니다.
모든 열을 텍스트로 가져오면 안전한가요?
문자열 보존에는 도움이 되지만 수량과 금액의 계산이 불편해질 수 있습니다. 식별자 열과 계산용 열을 구분하는 편이 검수하기 쉽습니다.
원본을 덮어쓴 뒤 0이 사라졌다면요?
새 형식을 적용하기 전에 원본 재다운로드나 백업 복원이 가능한지 확인하세요. 기억에 의존해 번호를 채우지 않는 것이 좋습니다.