ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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')

     

    반응형

    댓글

Designed by Tistory.