견리더의 알(R)파(Python)고

파이썬 read_csv 옵션(encoding 해결) 본문

파이썬(Python)/기본 내용

파이썬 read_csv 옵션(encoding 해결)

견리더 2020. 10. 21. 14:54

파이썬으로 csv파일을 불러올때 칼럼이름, 인덱스 이름을 정해야 하는경우가 있는데

데이터가 좀 더러울때 더 필요한 경우가 많다.

 

이건 내가 참고용으로 쓸 것이니 간단하게 적는다

 

인덱스이름 그냥 번호순으로 나열하기

index_col = False

 

그 전에 파이썬에서 to_csv같은걸로 저장했을때, unnamed: 0 인가 뜨는 것이 거슬리다면

index_col = 0 을 해주면 unnamed: 0 이 될 행이 인덱스로 들어간다.

 

 

칼럼이름 정하기

header = 0 (첫행 칼럼이름으로)

header = None (그냥 숫자로)

 

 

그냥 숫자로 하는게 디폴트값이 아니라서 당황했고, 

이렇게 쉬운것을 구글에 물어보는것도 시간낭비이다.

외우지 못하면 적어놓자

 

※ 인코딩(encoding) 오류 해결

데이터를 불러왔느나, 한글이 깨져 안보일 경우 인코딩 방식을 바꿔주어야 한다.

결론부터 말하자면, 인코딩 형식을 여러가지로 바꾸어 보는게 해결책이다.

data = pd.read_csv('data_test.csv') # <- 이렇게하면 오류

# 해결방법
data = pd.read_csv('data_test.csv', ecnoding = 'cp949') #1번
data = pd.read_csv('data_test.csv', ecnoding = 'euc-kr') #2번
data = pd.read_csv('data_test.csv', ecnoding = 'utf-8') #3번
vdata = pd.read_csv('data_test.csv', ecnoding = 'utf-16') #4번
data = pd.read_csv('data_test.csv', ecnoding = 'utf-8-sig') #5번
data = pd.read_csv('data_test.csv', ecnoding = 'ms949') #6번

위와 같이 여러가지 시도해보는게 좋은 방법이다.

 

모두가 하나의 인코딩을 사용하면 좋겠지만, 한글만 해도 여러가지의 인코딩이 존재한다.

위의 방법으로 해도 되지 않는다면, 해당csv파일을 utf-8로 저장하는 방법이 있다.

 

그럼 이만...