CSV(Comma-Separated Values) 파일은 값들이 쉼표로 구분되어 있는 텍스트 파일입니다. 다양한 데이터 분석 작업에서 널리 활용되며, 업무에 따라 엑셀 파일을 CSV 형식으로 저장해야 하는 경우가 종종 있습니다. 이 글에서는 엑셀 파일을 쉼표 구분 CSV로 저장할 수 있는 3가지 실용적인 방법을 자세히 소개합니다.
CSV란 무엇인가?
CSV는 각 값을 텍스트 문자열로 저장하고 값 사이를 쉼표로 구분하는 널리 사용되는 파일 형식입니다. 파이썬의 Pandas 라이브러리를 비롯한 다양한 소프트웨어와 프로그래밍 언어에서 CSV 파일을 입력값으로 사용합니다.
엑셀 파일을 쉼표 구분 CSV로 저장하는 3가지 방법
엑셀은 파일을 CSV로 저장할 수 있는 여러 가지 방법을 제공합니다. 가장 대표적인 방법은 다른 이름으로 저장(Save As) 기능이지만, 데이터에 포함된 문자의 종류에 따라 다른 방식이 필요하거나 여러 시트를 한 번에 CSV로 저장하고 싶은 경우도 있을 수 있습니다. 아래에서 상황별로 적합한 3가지 방법을 살펴보겠습니다.
1. '다른 이름으로 저장' 기능으로 CSV 만들기
가장 일반적이고 간단한 방법은 엑셀의 다른 이름으로 저장 명령을 사용하는 것입니다. 엑셀은 다양한 파일 형식으로 저장을 지원하므로 몇 번의 클릭만으로 CSV 파일을 만들 수 있습니다. 여기서는 도서명, 저자, 출판 연도로 구성된 예제 데이터를 사용해 절차를 설명합니다.

단계:
- 먼저 CSV 파일로 저장할 워크시트를 엽니다.
- 리본 메뉴에서 파일(File) 탭을 클릭한 후 다른 이름으로 저장(Save As)을 선택합니다.

- 다른 이름으로 저장 창에서 파일을 저장할 위치를 지정하고 파일 형식을 CSV(쉼표로 분리)(*.csv)로 선택합니다.
- 그런 다음 저장 버튼을 누릅니다.

- 통합 문서에 시트가 두 개 이상 있는 경우 알림 창이 나타나는데, 확인을 누르면 됩니다.

- 이제 선택한 위치에 CSV 파일이 저장됩니다. 워크시트에 적용했던 서식은 모두 제거되며, 결과는 아래와 같습니다.

- 파일을 메모장으로 열면 값들이 쉼표로 구분되어 있는 것을 확인할 수 있습니다.

함께 읽으면 좋은 글: 엑셀에서 CSV가 쉼표로 저장되지 않을 때 해결 방법(7가지 솔루션)
2. 특수 문자가 포함된 파일을 쉼표 구분 CSV로 변환하기
위에서 소개한 방법은 워크시트가 ASCII 문자만 포함하고 있을 때 잘 작동합니다. 하지만 워크시트에 유니코드(Unicode) 문자가 있다면 약간 다른 방법을 사용해야 합니다. 아래에서 두 가지 방법을 소개하며, 중국어(만다린)가 포함된 데이터셋으로 시연합니다.
2-1. CSV UTF-8 형식으로 저장하기
유니코드 문자가 포함된 워크시트는 CSV UTF-8 형식으로 저장할 수 있습니다. 이 형식은 유니코드 문자를 깨뜨리지 않고 그대로 보존합니다. 다음 단계를 따라 해보세요.
단계:
- 유니코드 문자가 포함된 워크시트를 열고 CSV로 저장할 준비를 합니다.

- 리본 메뉴에서 파일 탭을 클릭하고 다른 이름으로 저장을 선택합니다.
- 다른 이름으로 저장 창에서 저장 위치를 지정하고 파일 형식을 CSV UTF-8(쉼표로 분리)(*.csv)로 선택합니다.
- 이후 저장 버튼을 누릅니다.

- 시트가 여러 개인 경우 알림이 나타나면 확인을 누릅니다.
- 완료되면 CSV 파일이 저장됩니다. 메모장으로 열어 확인해 보세요.
- 중국어 단어가 정상적으로 표시되며, 값들이 쉼표로 구분되어 있는 것을 볼 수 있습니다.

- 이 파일을 엑셀에서 열면 기존 서식 없이 데이터만 표시됩니다.

관련 글 추천
- 엑셀 파일을 CSV 형식으로 변환하는 5가지 쉬운 방법
- 큰따옴표가 포함된 CSV로 엑셀 저장하기(3가지 간단한 방법)
- 여러 개의 엑셀 파일을 CSV로 변환하는 3가지 방법
- 엑셀을 열지 않고 CSV로 변환하는 4가지 방법
- 엑셀 파일을 자동으로 CSV로 변환하는 3가지 방법
2-2. CSV UTF-16 형식으로 저장하기
CSV UTF-8 외에도 유니코드가 포함된 파일을 저장할 수 있는 또 다른 형식이 있습니다. 특히 아시아권 문자가 많은 파일에는 CSV UTF-16 형식이 적합합니다. 이 형식 역시 값들을 쉼표로 구분하지만, 각 문자를 16바이트로 표현한다는 차이점이 있습니다. 아래 단계에 따라 중국어가 포함된 파일을 CSV UTF-16으로 저장해 보겠습니다.
단계:
- 먼저 CSV로 저장할 시트를 엽니다.

- 파일 탭으로 이동하여 다른 이름으로 저장을 선택합니다.
- 다른 이름으로 저장 창이 열리면 저장 위치를 지정하고 파일 형식으로 유니코드 텍스트(Unicode Text)를 선택합니다.
- 이후 저장 버튼을 누릅니다.

- 시트가 여러 개인 경우 알림이 나타날 수 있습니다. 확인을 누르세요.
- 이제 저장된 파일을 확인할 수 있지만, 아직 값들이 쉼표로 구분되어 있지 않습니다.

- 텍스트 파일에서 값 사이의 공백 부분을 복사합니다.
- 키보드 단축키 Ctrl + H를 눌러 찾기 및 바꾸기 창을 엽니다.

- 복사한 공백을 찾을 내용에 붙여넣고, 바꿀 내용에는 쉼표(,)를 입력합니다.
- 그런 다음 모두 바꾸기를 선택합니다.

- 이제 값들이 쉼표로 구분된 것을 확인할 수 있습니다. 이 텍스트 파일을 CSV로 저장해 보겠습니다.

- 메모장에서 파일 메뉴를 열고 다른 이름으로 저장을 선택합니다.
- 파일 형식을 모든 파일(*.*)로 지정하고 파일 이름 끝에 .csv를 붙입니다.
- 마지막으로 저장 버튼을 누릅니다.

- 완성입니다! 이제 CSV 파일이 저장되었으며, 메모장으로 열면 쉼표로 구분된 값들을 확인할 수 있습니다.

함께 읽으면 좋은 글: 엑셀 파일을 쉼표 구분 텍스트 파일로 변환하는 3가지 방법
3. VBA 코드로 엑셀 파일을 쉼표 구분 CSV로 저장하기
지금까지 소개한 방법들은 한 번에 하나의 워크시트만 저장할 수 있었습니다. 하지만 시트가 많을 경우 매번 하나씩 저장하는 것은 시간 낭비입니다. 이럴 때 간단한 VBA(Visual Basic for Applications) 코드를 활용하면 빠르게 해결할 수 있습니다. VBA 코드를 사용해 모든 시트를 쉼표 구분 CSV로 한꺼번에 저장하는 방법을 살펴보겠습니다.
단계:
- 먼저 통합 문서의 아무 시트나 엽니다.
- 키보드에서 Alt + F11을 누릅니다.

- 또는 개발 도구 탭 > Visual Basic을 선택하여 VBA 편집기를 열 수도 있습니다.

- VBA 창에서 활성 시트를 마우스 오른쪽 버튼으로 클릭합니다.
- 삽입 > 모듈을 선택합니다.

- 코드 창이 열리면 아래의 코드를 입력합니다.
Sub Batch_Save_CSV()
Dim wsht As Worksheet
Dim file_path As String
Application.ScreenUpdating = False
file_path = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each wsht In Worksheets
wsht.Copy
ActiveWorkbook.SaveAs Filename:=file_path & "_" & wsht.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
코드 설명:
Sub Batch_Save_CSV()
Dim wsht As Worksheet
Dim file_path As String
이 부분은 Batch_Save_CSV라는 서브 프로시저를 선언하고 변수 wsht와 file_path를 정의합니다.
Application.ScreenUpdating = False
file_path = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each wsht In Worksheets
wsht.Copy
ActiveWorkbook.SaveAs Filename:=file_path & "_" & wsht.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
이 부분은 통합 문서의 각 시트를 순회하는 반복문을 생성하고, 각 시트의 파일 형식을 CSV로 변경하여 저장합니다.
- 이제 VBA 창에서 실행(Run) 버튼을 클릭합니다.

- 통합 문서의 모든 시트가 쉼표 구분 CSV 파일로 저장됩니다. 메모장으로 파일을 열어 결과를 확인할 수 있습니다.
- 아래는 Sheet1의 CSV 파일입니다.

- 그리고 Sheet4의 CSV 파일입니다.

함께 읽으면 좋은 글: 엑셀을 쉼표 구분 CSV 파일로 변환하는 2가지 쉬운 방법
CSV 파일의 장점
- 다양한 플랫폼의 사용자들이 공통으로 활용할 수 있습니다.
- 파일 관리와 정리가 쉽습니다.
- 다양한 소프트웨어 및 프로그래밍 언어의 입력 데이터로 사용됩니다.
결론
엑셀 파일은 다양한 방법으로 쉼표 구분 CSV 파일로 저장할 수 있습니다. 이 글에서는 상황에 맞게 활용할 수 있는 3가지 방법을 소개했습니다. 각 방법은 일반 텍스트 저장, 유니코드 문자 처리, 그리고 여러 시트 일괄 변환이라는 서로 다른 용도에 최적화되어 있으니, 작업 환경에 맞는 방법을 선택하시기 바랍니다. 방법을 따라 하다가 문제가 발생하면 댓글로 알려주세요. 더 많은 엑셀 관련 팁은 저희 사이트의 다른 글도 확인해 보세요.
관련 글
- 엑셀에서 CSV 파일 만드는 6가지 쉬운 방법
- 연락처용 CSV 파일 엑셀로 만들기(단계별 안내)
- 엑셀 CSV에서 선행 0(앞자리 0) 유지하는 프로그래밍 방법
- 엑셀 VBA로 텍스트 파일에 쓰는 방법
- 엑셀을 파이프(|) 구분 텍스트 파일로 변환하는 매크로(3가지 방법)
- 매크로로 여러 엑셀 파일을 CSV 파일로 변환하는 방법
