인코딩 타입이 유니코드(unicode) 또는 UTF-8인 문서를 읽을 때 파일의 처음에 \ufeff 가 추가되는데,
파이썬에서 아래와 같이 파일을 읽어 출력하는 경우
import csv with open('example.txt', 'r', encoding='utf-8') as file: pass
\ufeff문서의시작
과 같이 \ufeff 추가되는 걸 볼 수 있다.
물론 text로 모두 읽어 들인 후 .replace('\ufeff', '') 해서 바꿔도 상관 없으나,
csv 파일을 DictReader로 읽어 들여서 OrderedDict으로 하는 경우,
첫 번째 컬럼의 head에 \ufeff 문자열이 바로 붙어 버리는 곤란한 경우가 발생한다.
예를 들면 이런 식이다.
OrderedDict([('\ufeff식별자', '1_00001') ...
따라서 예초에 파일을 읽어들일 때 제거하면 편하다.
import csv with open('example.txt', 'r', encoding='utf-8-sig') as file: pass
encoding 옵션을 utf-8 에서 utf-8-sig 로 바꾸면 된다.
'Study > Programming' 카테고리의 다른 글
[파이썬 Python] glob.glob로 가져올 때 정렬(sort)하기 (1) | 2018.04.09 |
---|---|
Python 요약 2 (0) | 2017.10.06 |
Anaconda 4.4.0 (python 3.6) + KoNLPy 설치 (5) | 2017.09.03 |
Python 요약 (0) | 2017.07.16 |
특정 날짜로 요일 계산하는 공식 (0) | 2015.06.03 |