티스토리 뷰

업무를 하다보면 종종 데이터를 엑셀파일(xls, xlsx)이 아닌 csv 파일로 export할 때가 있다.

한국 웹사이트에서 데이터를 csv 파일로 export 받으면 한글이 깨지지 않곤 하는데 이상하게(100% 장담은 못 한다.) 글로벌 서비스에서 csv 파일로 데이터를 export 하고 Microsoft Excel로 열었을 때 한글이 이상하게 깨진다. 왜일까?

 

export한 CSV 파일이 깨지는 이유

이 이유는 encoding 방식에 있다. 보통 글로벌 서비스에서는 한글로 csv로 export 하면 'UTF-8'로 인코딩 된 파일을 떨궈준다.

하지만, 이 csv 파일을 Microsoft Excel 프로그램으로 열었을 시 MS Excel 프로그램에서 csv 파일은 'ANSI'라는 인코딩 방식으로 자동 인식해서 'UTF-8'로 인코딩 된 파일을 'ANSI'로 읽어 한글이 깨지는 것이다.

 

그래서 맥에서 기본으로 설치되어 있는 별도 엑셀 프로그램으로 export한 csv 파일을 열었을 경우 한글이 한 깨지는 등 Microsoft Excel 프로그램이 아닌 타 프로그램으로 csv 파일을 열었을 경우 한글이 안 깨질 수도 있다.

 

 

export한 csv파일의 한글깨짐 해결 방법

이렇게 인코딩이 맞지 않아서 MS Excel에서 한글이 깨지는 것을 해결하는 방법은 두 가지가 있다.

 

1. 파일 자체의 인코딩 방식을 ANSI로 변경

메모장이나 워드패드와 같이 text의 인코딩을 변경해서 저장할 수 있는 프로그램을 이용하는 방법이다.

 

메모장이나 워드패드와 같이 text를 확인하는 프로그램으로 한글이 깨진 파일을 연다.

 

파일 > 다른 이름으로 저장... 을 클릭한다.

 

다른 이름으로 저장하는 창에서 파일명 및 확장자는 똑같이 입력해 덮어씌어지게 하되 아래의 인코딩을 UTF-8에서 ANSI로 변경해준다.

 

그 후 해당 파일을 MS Excel로 열어보면 파일의 인코딩이 ANSI로 변경되어 아래와 같이 깨졌었던 한글이 정상적으로 나오는 것을 확인할 수 있다.

 

 

2. MS Excel 프로그램에서 csv 데이터를 UTF-8 인코딩으로 인식해서 가져오기

엑셀 프로그램의 csv 파일 기본 인코딩을 변경하지는 못하지만 데이터 가져오기를 통하면 가져온 텍스트 데이터의 인코딩을 지정할 수 있는 점을 이용하는 방법이다.

 

 

데이터 > 텍스트를 클릭한다.

 

텍스트 마법사 1단계에서 인코딩을 '유니코드(UTF-8)'로 선택해준다.

 

csv 확장자 자체는 'comma-separated variables'를 의미 하므로 텍스트 마법사 2단계에서 구분 기호로 쉼표를 체크한다.

밑에 열이 구분된 미리보기가 나타나는데 그걸 보고 내가 맞는 구분 기호를 선택했는지 확인할 수 있다.

 

그 밖에 3단계에서 각 열의 데이터 서식을 설정하고 맨 마지막에 데이터를 표시할 위치를 선택하면 끝이다.

 

그러면 아래와 같이 한글이 깨지지 않고 데이터가 잘 나오는 것을 확인할 수 있다.

 

참고로 이렇게 데이터를 가져올 경우 원본 csv 파일을 가져온 것이 아니므로 수정을 하면 다른이름으로 저장이 뜨며 새로운 파일로 저장하게 되어 있다. 이 때 당황하지 않고 원본 파일에 덮어씌우며 저장하면 원본 파일을 다시 더블클릭 했을 때 인코딩이 UTF-8로 바뀐 상태여서 한글이 깨지지 않고 잘 파일을 읽어올 수 있다.

 

 

한글이 깨지는 csv 파일의 크기가 너무 커서 위의 방법들을 이용할 수 없다면 MS Excel이 아닌 다른 방법을 이용하길 추천한다.

(csv 파일을 꼭 MS Excel로 다뤄야하는 것은 아니지 않은가...)

csv파일이 아닌 엑셀파일(xls, xlsx)로 export 할 수 있다면 해당 방법을 추천한다.

 

 

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함