본문 바로가기
Development/Python

CSV파일 인코딩(Encoding)

by 곽동현 이스텔리앙 2020. 3. 23.

CSV파일 인코딩(Encoding) 문제 해결하기


1. 현재 가지고 있는 csv파일에서 encoding이 무엇인지 알아내기


import chardet
import pandas as pd
filename = "Data_kr_v2.0.0_no_label_all_train3.csv"
with open(filename, 'rb') as f:
result = chardet.detect(f.readline()) # or read() if the file is small.
print(result['encoding'])


이와 같은 방식으로 해당 라인의 encoding이 무엇인지 알아낼 수 있다.



2. Excel에서 csv 저장할 때 encoding변경하기


그런데 실제로 이렇게 옵션을 주고 해봐도, 제대로 encoding이 변경되지 않는 버그..? 가 있는 것으로 추정된다.



3. Sublime text 이용해서 변경하기

이 방법이 가장 쉽고 깔끔했다.

먼저 ConvertToUTF8이라는 패키지를 설치해준다.(단축키 Ctrl+Shift+P를 클릭하고, package Control: Install Package를 선택하고, ConvertToUTF8을 선택하면 설치 완료)


그다음 내가 원하는 파일을 open하면, File 메뉴에 Reload with encoding이란 메뉴가 생겨나있다. 이걸 클릭해서 내 파일의 인코딩에 맞게 변경해줘야 하지만, 나같은 경우 csv파일이 한글(CPC949)인코딩을 알아서 인식해서 로딩해주었다!



그다음 다시 File 메뉴에, Set File Encoding to를 클릭해서 내가 원하는 UTF-8을 클릭하고, 저장하니 완벽히 문제가 해결되었다.







댓글0