🖥️ IT, 컴퓨터/🐍 Python

[Python] pd.read_csv 에서 인코딩 설정하는 법 / UnicodeDecodeError

김 홍시 2024. 2. 29.
반응형

pd.read_csv 함수를 사용할 때 인코딩을 설정하는 것은 데이터를 읽어올 때 문자 인코딩 문제를 해결하는 데 매우 중요할 수 있습니다. 특히, 다양한 언어로 된 데이터를 다룰 때, 기본 인코딩인 'utf-8' 외에 다른 인코딩을 명시적으로 지정해야 할 경우가 있습니다.

pd.read_csv 함수에서 인코딩을 설정하는 방법은 encoding 매개변수를 사용하는 것입니다. 예를 들어, Excel 파일에서 추출한 CSV 파일이 'utf-8'이 아닌 'cp949' (한국에서 자주 사용되는 인코딩)를 사용하는 경우, 해당 인코딩을 pd.read_csv 함수에 명시해야 합니다.

기본 사용법

import pandas as pd

# 'utf-8' 인코딩으로 CSV 파일 읽기 (기본값)
df = pd.read_csv('file_path.csv', encoding='utf-8')

# 'cp949' 인코딩으로 CSV 파일 읽기 (한국에서 사용되는 인코딩)
df = pd.read_csv('file_path.csv', encoding='cp949')

# 'latin1' 인코딩으로 CSV 파일 읽기
df = pd.read_csv('file_path.csv', encoding='latin1')

주요 인코딩 유형

  • UTF-8: 가장 일반적으로 사용되는 유니코드 인코딩. 다양한 언어를 지원합니다.
  • ISO-8859-1 / Latin1: 서유럽 언어에 대한 인코딩입니다.
  • CP1252: Windows에서 사용되는 서유럽 언어 인코딩입니다.
  • CP949: 한국어를 위한 확장 완성형 코드입니다. 윈도우에서 한국어 인코딩으로 많이 사용됩니다.

인코딩 문제 해결

파일을 열 때 UnicodeDecodeError 같은 인코딩 관련 오류가 발생하면, 파일의 인코딩을 확인하고 encoding 매개변수에 올바른 인코딩 값을 제공해야 합니다. 정확한 인코딩을 모를 경우, 몇 가지 일반적인 인코딩을 시도해 볼 수 있습니다. 그래도 문제가 해결되지 않으면, 파일을 텍스트 편집기에서 열어 인코딩 형식을 확인하거나, 파일을 생성한 프로그램의 문서를 참조해야 할 수도 있습니다.

반응형

댓글