| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- java테스트
- HashMap
- junit
- 자바
- 테스트자동화
- ArrayList
- IntelliJ
- math
- Array
- CSS
- Eclipse
- string
- junit5
- 스프링부트
- SpringBoot
- javascript
- 배열
- 자바스크립트
- 인텔리제이
- list
- vscode
- input
- 단위테스트
- 문자열
- Java
- js
- 정규식
- 자바문법
- Visual Studio Code
- html
- Today
- Total
어제 오늘 내일
[파이썬/Python] UnicodeDecodeError: 'cp949' codec can't decode bytes .. 본문
[파이썬/Python] UnicodeDecodeError: 'cp949' codec can't decode bytes ..
hi.anna 2017. 7. 31. 07:17[파이썬 / python]
'UnicodeDecodeError: 'cp949' codec can't decode bytes in position~~ '
오류 해결 하기
파이썬으로 한글 파일을 읽어오다가 아래와 같은 오류가 발생하였다.
UnicodeDecodeError: 'cp949' codec can't decode bytes in position ~~~
원인을 찾아보니
읽으려는 파일이 UTF-8 형식이기 때문!
해결하기 위해서는 파일을 읽을 때 인코딩 형식을 지정해 주어야 한다.
파일을 읽을 때 인코딩, 디코딩 방법을 지정해주기 위해서는
codecs 모듈을 이용해야 한다.
아래의 document를 참조하였다.
https://docs.python.org/3/library/codecs.html#module-codecs
codecs 모듈의 open() 사용하여 문제 해결하기
codecs.open(filename, mode='r', encoding=None, errors='strict', buffering=1)
codes 모듈의 세번째 인자로 encoding 방법을 지정할 수 있다.
그래서 위와 같이
1. codes 모듈을 import하고
2. codecs.open 함수로 파일을 열어주고, 세 번째 인자로 인코딩 형식을 지정해준다.
(여기서는 utf-8)
3. codecs.open함수는 file변수에 codecs.StreamReaderWriter 타입의 인스턴스를 리턴한다.
4. codecs.StreamReader의 readline 함수를 이용하여 파일을 한줄씩 읽어온다.
(codecs.StreamReaderWriter 인스턴스는 codecs.StreamReader와 codecs.StreamWriter를 구현한 인스턴스이다)
https://docs.python.org/3/library/codecs.html#codecs.open
https://docs.python.org/3/library/codecs.html#codecs.StreamReaderWriter
https://docs.python.org/3/library/codecs.html#codecs.StreamReader
[파이썬 공식 문서 참조]
'IT > Python' 카테고리의 다른 글
| [Python 기초] 5. "수십 개의 데이터를 상자 하나에!" 파이썬 리스트(List)와 튜플(Tuple) 완벽 가이드 (1) | 2026.04.08 |
|---|---|
| [Python 기초] 4. "문자열을 떡 주무르듯이" 인덱싱, 슬라이싱, 그리고 f-string (0) | 2026.04.08 |
| [Python 기초] 3. "Hello World"는 이제 그만! 변수와 자료형(Data Type) 제대로 알기 (0) | 2026.04.07 |
| [Python 기초] 2. 5분 컷! 파이썬 설치하고 VS Code와 연동하기 (윈도우/맥) (0) | 2026.04.07 |
| [Python 기초] 1. "엑셀보다 쉽고 강력하다?" 왜 지금 파이썬을 배워야 할까요? (0) | 2026.04.06 |