반응형
python을 활용하여 .csv 파일을 읽는 경우가 상당히 많이 있습니다.
csv
csv는 쉽게 생각하면 엑셀 및 스프레드시트와 같은 프로그램에서 필수 데이터만 나열한 것이라고 생각하시면 될 것 같습니다. 자세한 사항은 여기에서 확인해보세요~
python에서 읽을때 [ 0, 0 ]째 값에 \ufeff가 붙어있는것을 누구는 보이고 누구에게는 안 보이는 상황이 발생하는데요
csv.read().decode('utf-8')
['\ufeffmain text','next text']
이러한 경우는 윈도우 시스템에 의해 작성된 문서일 경우 작성이 되는 경우가 대부분입니다.
(윈도우 유저의 경우 흔하게 볼 수 있습니다.)
이유는 바로 Byte Order Mark(BOM)
byte order mark에 대한 내용은 해당 블로그에 자세히 기술되어 공유드립니다~
해결 방법은 아주 간단합니다~
#csv.read().decode('utf-8')
csv.read().decode('utf-8-sig')
['main text','next text']
.decode()에 "utf-8-sig"를 적용하시면 해결하실 수 있습니다~
sig는 signature의 약자이며 +"-sig" 가 붙으면서 "\ufeff"는 문자열이 아닌 인코딩 정보로 인식하게 되어 해당 문자는 표시되지 않게됩니다.
의외로 간단하죠~?
반응형
'Pyhton' 카테고리의 다른 글
assertIn VS assertContains 무엇이 다른가요? (0) | 2022.01.27 |
---|---|
asyncio, aiohttp 체험기 (0) | 2021.07.16 |
윈도우에서 가상 환경 만들기~! (0) | 2020.05.30 |
파이써닉은 뭔가요? _ Pythonic (0) | 2020.04.24 |
왜 Python을 쓰는거죠? 2020 프로그래밍 순위 (0) | 2020.04.01 |
댓글