엑셀(Excel) CSV 파일에서 사용하는 구분자 관련해서 총 3가지를 소개한다.
첫째, 엑셀에서 작업한 내용을 CSV 파일로 저장할 때 미리 약속된 구분자를 다른 구분자로 변경해서 저장하기.
둘째, CSV 파일로 작업 시 여러 개의 구분자가 있어도 행이나 열이 밀리지 않도록 하기.
셋째, CSV 파일을 열었을 때 특정 문자를 줄바꿈 문자(엔터키)로 치환하기.
CSV 파일은 열과 열 사이의 각 항목을 미리 약속된 구분자로 분류되어 저장한다. 윈도우에서 CSV 파일은 기본적으로 구분자를 콤마(,)로 분류하여 텍스트 형태의 파일을 의미한다.
CSV 파일은 데이터베이스 테이블로 저장하거나 자료를 변환할 때 많이 사용되는 방법이다. 하지만, 각 항목의 데이터가 콤마(,)가 여러 개 존재할 경우 구분자인지 각 항목에 존재하는 콤마인지 구분하기 쉽지 않다.
엑셀에서 CSV 파일로 변환 시 구분자 변경하여 저장
CSV 파일의 구분자는 기본적으로 윈도우 설정에 따라 미리 예약되어 있으므로 엑셀 프로그램 자체적으로 구분자를 변경하여 CSV 파일로 저장할 수 없다.
엑셀에서 작업한 내용을 1.csv 파일로 저장하고, 저장된 파일을 텍스트 에디터 프로그램으로 열어보면 미리 약속된 구분자가 여러 개 존재하여 어떤 것이 구분자인지 확인하기 어렵다.
# 1.csv
1За,"1,1","1,2","1,3"
2За,"2,1","2,2","2,3"
3За,"3,1","3,2","3,3"
바탕화면의 왼쪽 하단의 시작 버튼을 클릭하고 "국가 또는 지역"을 입력하면 국가 또는 지역 창이 뜨는데, 하단의 추가 설정 버튼을 클릭한다.
클릭하면 형식 사용자 지정 창이 뜨는데 목록 구분 기호가 기본적으로 콤마(,)로 되어 있으므로 잘 사용하지 않는 구분자(!)로 변경 후 확인 버튼을 클릭한다.
엑셀에서 작업한 내용을 2.csv 파일로 저장하고, 저장된 파일을 텍스트 에디터 프로그램으로 열어보면 구분자가 콤마(,)가 아닌 느낌표(!)로 변경된다. 또한, 각 항목에 콤마가 있으므로 어떤 것이 구분자인지 아닌지 확인하기 쉽다.
# 2.csv
1За!1,1!1,2!1,3
2За!2,1!2,2!2,3
3За!3,1!3,2!3,3
CSV 파일 변환 작업 시 각 항목 안에 콤마가 존재할 경우 더블 쿼터 삽입
자동으로 CSV 파일로 저장하는 기능이 있다면 상관 없다. 하지만, 수작업으로 텍스트 형태의 데이터를 CSV 파일로 저장하고 저장된 파일을 열어 보면 문제가 발생한다.
각 항목 안에 콤마가 존재하면 이를 구분자로 인식하여 데이터가 밀리는 현상이 발생한다.
각 항목에 따라 콤마가 있는 경우도 있고, 없는 경우가 있는데 콤마가 있을 때마다 이를 구분자로 인식하여 줄바꿈 문자 처리가 된다면 원하는 결과를 볼 수 없다.
이를 해결하려면 이미 눈치챘겠지만 콤마가 있는 열에 더블 쿼터(" ")로 감싸주면 된다. 더블 쿼터로 감싸주면 하나의 열로 인식하고 구분자로 인식하지 않으므로 데이터가 밀리지 않는다.
# 3.csv
1LINE,"1,1,234,234,234,,,234,,,234,,,","1,2","1,3"
CSV 파일 변환 작업 시 줄바꿈 문자를 역슬러시로 변경해서 저장 및 줄바꿈 문자로 치환하기
상기 방식과 동일하게 수작업으로 텍스트 형태의 데이터를 CSV 파일로 저장 시 줄바꿈 문자를 열슬러시 문자로 변경해서 저장하고 저장된 파일을 열어 보면 각 항목의 데이터가 줄바꿈이 되지 않는다.
역슬러시 문자를 줄바꿈 문자(Alt + Enter)로 치환하려면 CSV 창에서 Ctrl+F > 바꾸기 > 찾을 내용에 \를 입력하고, 바꿀 내용에 Ctrl+Shift+J를 입력하고 모두 바꾸기 버튼을 클릭하면 자동으로 줄바꿈이 된다.
○ Ctrl+F > 바꾸기
○ 찾을 내용 : \
○ 바꿀 내용 : Ctrl+Shift+J
○ 모두 바꾸기