-
Python 파일 읽어오기 인코딩 정리프로그래밍/파이썬 기초 2021. 10. 6. 14:13반응형
인코딩이란?
파이썬(코딩)에서 인코딩이란 문자를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업을 뜻한다.
인코딩 종류
인코딩의 종류는 다양하게 존재하지만, 현실적으로 우리가 주로 마주하게 되는 인코딩은 다음과 같다.
1. UTF-8 : 유니코드 문자 인코딩 방식 중 하나. 가장 널리 사용되는 인코딩.
2. UTF-16 : 유니코드 문자 인코딩 방식 중 하나. 기본 문자는 16비트, 그 이상의 문자는 32비트로 인코딩 됨.
3. EUC-KR : 한글 완성형 인코딩. 8비트 문자 인코딩.
4. CP949(MSWIN949) : EUC-KR의 확장 버전으로 하위 호환성을 가진다.
인코딩이 필요할 때
파일(txt, csv 등등)을 읽어올 때 아래와 같은 에러 메시지를 받을 때가 있다.
UnicodeDecodeError: 'utf-8' codec can't decode byte
UnicodeDecodeError: 'cp949' codec can't decode byte
또는 글자가 정확히 인식되지 못하고 "뛇궭" 와 같이 깨져서 나타나는 경우가 있다.
이러한 경우에는 파일의 인코딩이 맞지 않아 나타나는 현상이다.
인코딩 지정방법
파이썬에서 파일을 읽어오는 방법은 대표적으로 open과 pandas.read_csv가 사용된다.
두 기능 모두 인코딩의 기본 값으로 UTF-8이 설정되어 있지만 파라미터 지정이 가능하다.
f = open("data.txt", 'r', encoding='CP949')
import pandas as pd pd.read_csv('data.csv', encoding='CP949')
반응형'프로그래밍 > 파이썬 기초' 카테고리의 다른 글
파이썬 with as문을 통한 자동 open/colse (0) 2022.10.31 [Python] 우선순위큐 사용하기 - heapque, headq (1) 2022.09.16 [Python] 큐(Que) 사용하기 - deque (0) 2022.09.16 [파이썬/Python]컴프리헨션(Comprehension) (0) 2021.02.22