엑셀 CSV 한글 깨짐 해결: UTF-8 가져오기와 앞자리 0 보존

CSV 파일을 Excel에서 열었는데 한글이 깨졌다면 파일을 그대로 저장하지 말고 닫은 뒤, 빈 통합 문서에서 데이터 → 텍스트/CSV에서로 다시 가져오는 것이 안전합니다.

한글 깨짐은 문자 인코딩 문제이고, 모든 값이 한 열에 들어가는 것은 구분 기호 문제입니다. 00123123으로 바뀌거나 긴 식별자의 끝자리가 달라지는 것은 자동 데이터 형식 변환 문제입니다.

세 문제를 한꺼번에 해결하려면 미리보기에서 UTF-8과 구분 기호를 확인한 뒤 바로 로드하지 말고 데이터 변환을 선택합니다. 상품코드·사번·주문번호 같은 열은 Power Query에서 먼저 텍스트 형식으로 지정해야 합니다.

이 글은 Microsoft의 CSV UTF-8 열기, 텍스트/CSV 가져오기, 자동 데이터 변환과 Power Query 데이터 형식 공식 문서를 기준으로 작성했습니다. 메뉴와 지원 옵션은 Excel 버전과 운영체제에 따라 일부 다를 수 있습니다.

문자와 열 구조가 깨지고 숫자 식별자가 변형된 CSV를 올바른 인코딩과 텍스트 형식으로 가져오는 대표 개념 이미지
CSV를 Excel로 가져올 때는 문자 인코딩, 열 구분 기호와 데이터 형식을 각각 확인해야 합니다. 위 이미지는 깨진 문자와 변형된 식별자를 원본 형태로 가져오는 과정을 설명하기 위한 대표 개념 이미지입니다.

잘못 열린 CSV는 저장하지 않고 원본부터 보존합니다

한글이 깨졌거나 앞자리 0이 사라진 상태에서 Ctrl+S를 누르면 잘못 해석된 데이터로 원본 CSV를 덮어쓸 수 있습니다.

다음 순서로 시작합니다.

  1. 잘못 열린 CSV 창을 저장하지 않고 닫습니다.
  2. 원본 CSV를 복사해 별도 보관합니다.
  3. Excel에서 빈 통합 문서를 새로 엽니다.
  4. 데이터 → 텍스트/CSV에서를 선택합니다.
이미 손실된 값은 셀 서식만으로 복구되지 않습니다.

앞자리 0이 제거됐거나 16자리 이상 숫자의 뒷자리가 바뀐 뒤에는 표시 형식을 텍스트로 변경해도 원래 문자열이 돌아오지 않습니다. 저장 전 원본 CSV에서 다시 가져와야 합니다.

먼저 실제 CSV에서 지켜야 할 열을 정합니다

다음과 같은 CSV를 가져온다고 가정합니다.

원본 예 가져올 형식 이유
주문번호 000012 텍스트 앞자리 0 보존
고객명 한글 이름 텍스트 문자 원형 보존
기간코드 MAR1 텍스트 날짜 자동 변환 방지
외부식별자 12345678901234567890 텍스트 전체 자리 보존
금액 150000 정수 또는 소수 합계·평균 계산

숫자로 보인다는 이유만으로 모든 열을 숫자로 가져오면 안 됩니다. 계산에 쓰지 않는 식별자는 원본 문자열 그대로 보존하는 것이 우선입니다.

데이터 → 텍스트/CSV에서 안전하게 가져옵니다

  1. Excel에서 빈 통합 문서를 엽니다.
  2. 데이터 탭을 선택합니다.
  3. 데이터 가져오기 → 파일에서 → 텍스트/CSV에서를 선택합니다.
  4. 원본 CSV를 선택합니다.
  5. 미리보기에서 파일 원본과 구분 기호를 확인합니다.
  6. 식별자 열이 있다면 로드가 아니라 데이터 변환을 선택합니다.

일부 Excel 버전에서는 메뉴가 데이터 → 텍스트/CSV로 표시될 수 있습니다.

한글이 깨지면 파일 원본을 확인합니다

Microsoft는 UTF-8 CSV에 BOM이 포함돼 있으면 일반적으로 정상적으로 열 수 있지만, 그렇지 않은 UTF-8 CSV는 텍스트/CSV 가져오기 또는 텍스트 가져오기 기능으로 열도록 안내합니다.

파일이 UTF-8로 만들어졌다면 미리보기의 파일 원본에서 다음과 같은 UTF-8 항목을 선택합니다.

65001: Unicode (UTF-8)

선택 후 고객명·부서명·주소가 원래 한글로 표시되는지 미리보기에서 확인합니다.

UTF-8을 선택해도 깨진다면 원본을 만든 시스템이 다른 인코딩으로 내보냈을 수 있습니다. 이때는 파일 생성 시스템의 내보내기 설정을 확인하고, 미리보기에서 실제 문자가 정상적으로 보이는 파일 원본을 선택합니다.

문자가 정상으로 보이기 전에는 로드하거나 원본 파일을 저장하지 않습니다.

모든 값이 한 열에 들어가면 구분 기호를 바꿉니다

한글은 정상인데 쉼표나 세미콜론이 셀 안에 그대로 보인다면 구분 기호가 잘못 선택된 상태입니다.

원본 파일의 한 줄이 다음과 같다고 가정합니다.

000012,서울지점,2026-08-20,150000

이 파일은 쉼표를 기준으로 네 열로 나뉘어야 합니다. 미리보기의 구분 기호에서 쉼표를 선택합니다.

다른 시스템에서는 세미콜론이나 탭을 사용할 수 있으므로 파일 내용과 미리보기를 기준으로 선택합니다. 파일 하나를 열기 위해 Windows 전체의 지역 구분 기호 설정을 바꾸는 것보다 가져오기 화면에서 해당 파일의 구분 기호를 지정하는 편이 안전합니다.

쉼표가 포함된 설명 열이 두 칸으로 나뉘는 경우

CSV의 설명이나 주소 값에 쉼표가 포함돼 있다면 원본 시스템은 해당 값을 따옴표로 감싸서 내보내야 할 수 있습니다.

텍스트/CSV 가져오기에서도 한 행이 예상과 다르게 나뉜다면 원본 파일을 텍스트 편집기로 확인하고, 따옴표가 열리고 닫히는 구조가 깨지지 않았는지 확인합니다.

전체 파일에서 쉼표를 찾기/바꾸기로 제거하면 정상적인 열 구분 기호까지 함께 손상될 수 있으므로 사용하지 않습니다.

데이터 변환에서 식별자 열을 먼저 텍스트로 지정합니다

미리보기에서 데이터 변환을 선택하면 Power Query 편집기가 열립니다.

오른쪽의 적용된 단계변경된 형식 단계가 자동으로 추가됐는지 확인합니다.

Power Query는 CSV 같은 비구조화 자료의 처음 200개 행을 검사해 열 형식을 추정할 수 있습니다. 처음 200개 행에는 숫자만 있고 이후에 문자 코드가 나오는 열이라면 자동 형식이 원본 전체에 맞지 않을 수 있습니다.

다음 순서로 중요한 열을 고정합니다.

  1. 주문번호·사번·우편번호·상품코드·긴 식별자 열을 선택합니다.
  2. 열 머리글 왼쪽의 데이터 형식 아이콘을 선택합니다.
  3. 텍스트를 선택합니다.
  4. 형식 변경 확인 창에서는 현재 단계 교체 여부를 확인합니다.
  5. 금액·수량 등 실제 계산 열만 정수 또는 소수 형식으로 지정합니다.

자동 생성된 변경된 형식 단계가 이미 코드 열을 숫자로 바꿨다면, 해당 단계의 설정을 수정하거나 제거한 뒤 원본 값이 복원되는지 확인합니다.

원본 CSV 자체를 이미 잘못된 값으로 덮어쓴 경우에는 Power Query 단계를 제거해도 원래 값이 돌아오지 않습니다.

앞자리 0과 긴 숫자는 숫자로 변환하기 전에 막아야 합니다

Excel은 숫자처럼 보이는 텍스트에서 앞자리 0을 제거할 수 있으며, 숫자로 저장된 16자리 이상의 값은 15자리 정밀도 제한 때문에 뒷부분이 바뀔 수 있습니다.

예를 들어 다음 식별자는 반드시 텍스트로 가져옵니다.

000012
00123
12345678901234567890
123E5

이미 00001212로 변한 뒤 사용자 지정 형식 000000을 적용하면 화면에는 비슷하게 보일 수 있지만, 원본 문자열을 복구한 것은 아닙니다.

외부 시스템으로 다시 전달하거나 다른 코드와 정확히 비교해야 한다면 반드시 원본 CSV에서 텍스트로 다시 가져옵니다.

Microsoft 365·Excel 2024에서는 자동 데이터 변환도 확인합니다

Microsoft 365 또는 Excel 2024의 지원 환경에서는 다음 위치에서 자동 데이터 변환 설정을 확인할 수 있습니다.

파일 → 옵션 → 데이터 → 자동 데이터 변환

지원되는 버전에서는 다음 변환을 개별적으로 해제할 수 있습니다.

  • 앞자리 0을 제거하고 숫자로 변환
  • 긴 숫자를 15자리 정밀도로 변환하고 지수 표기로 표시
  • E가 포함된 값을 지수 표기로 변환
  • 문자와 숫자의 연속 문자열을 날짜로 변환

이 설정은 Microsoft 365와 Excel 2024의 지원 환경에 적용됩니다. Excel 2021·2019·2016처럼 해당 옵션이 없는 버전에서는 Power Query나 텍스트 가져오기 마법사에서 열 형식을 지정합니다.

구형 Excel에서는 텍스트 가져오기 마법사를 사용할 수 있습니다

Power Query를 사용할 수 없거나 열별 형식을 가져오기 전에 직접 지정해야 한다면 기존 텍스트 가져오기 마법사를 사용할 수 있습니다.

새 Excel에서 이 메뉴가 보이지 않는다면 다음 위치를 확인합니다.

  1. 파일 → 옵션 → 데이터를 엽니다.
  2. 레거시 데이터 가져오기 마법사 표시에서 텍스트를 선택합니다.
  3. Excel을 다시 열어 메뉴가 표시되는지 확인합니다.
  4. 데이터 → 데이터 가져오기 → 레거시 마법사 → 텍스트에서를 선택합니다.

마법사에서는 파일 원본, 구분 기호를 지정한 뒤 마지막 단계에서 주문번호·상품코드·긴 식별자 열을 각각 선택하고 텍스트 열 데이터 형식으로 지정합니다.

날짜 열과 날짜처럼 보이는 코드를 구분합니다

2026-08-20이 실제 주문 날짜라면 날짜 형식으로 가져올 수 있습니다. 하지만 MAR1, 1-2 또는 05-01이 상품코드나 기간코드라면 텍스트로 유지해야 합니다.

날짜 순서가 국가별로 다른 자료는 Power Query의 로캘 설정을 함께 확인합니다. 날짜가 이미 텍스트로 들어왔거나 정렬이 맞지 않는 경우에는 아래 관련 글을 참고할 수 있습니다.

로드하기 전에 원본과 결과를 직접 비교합니다

전체 파일을 눈으로 확인할 필요는 없지만, 손실 가능성이 큰 열은 대표 값을 골라 원본 CSV와 비교해야 합니다.

다음 조건을 모두 확인한 뒤 닫기 및 로드를 실행합니다.

  • 한글 이름과 주소가 원래 문자로 표시됨
  • 예상한 수만큼 열이 분리됨
  • 000012의 앞자리 0이 유지됨
  • 16자리 이상 식별자의 모든 자리가 원본과 같음
  • 코드가 날짜나 지수 표기로 바뀌지 않음
  • 금액·수량은 계산할 수 있는 숫자 형식임
  • 첫 번째 행이 올바른 열 머리글로 사용됨
  • 쉼표가 들어간 설명·주소가 한 셀 안에 유지됨

원본 시스템에서 제공한 전체 행 수가 있다면 가져온 행 수도 함께 비교합니다.

Excel 작업본은 XLSX로 저장합니다

CSV는 문자와 구분 기호로 구성된 데이터 교환용 파일입니다. Excel 통합 문서의 셀 서식, 수식, 차트와 여러 워크시트를 모두 보존하는 형식이 아닙니다.

인코딩과 열 형식을 확인해 가져온 뒤 Excel에서 계속 수정할 파일은 .xlsx로 저장합니다.

다른 시스템이 CSV를 요구할 때만 작업본을 별도로 보존한 상태에서 CSV UTF-8(쉼표로 분리) 형식으로 복사본을 내보냅니다.

CSV로 저장하면 활성 워크시트의 데이터만 저장될 수 있으며 Excel 전용 기능이 유지되지 않을 수 있으므로 저장 경고를 확인합니다.

정상 처리 기준

CSV 가져오기가 정상적으로 끝났다는 기준은 파일이 열렸다는 사실이 아닙니다.

한글, 열 개수, 앞자리 0, 긴 식별자, 코드와 날짜가 원본과 일치하고, 계산 열만 숫자로 처리된 상태여야 합니다. 이 조건을 확인한 뒤 작업본을 XLSX로 저장하면 원본 CSV를 훼손하지 않고 후속 작업을 진행할 수 있습니다.

내용 확인에 사용한 Microsoft 공식 자료

공식 문서 확인일: 2026년 8월 20일

Post a Comment

다음 이전