read_csv utf-8 코덱 에러

Mingtorr·2021년 5월 1일
0
post-custom-banner

Pandas에서 read_csv, read_excel 과 같이 데이터를 읽어오는 함수를 사용할 때 가끔씩 아래와 같은 오류가 발생합니다.

Traceback (most recent call last):
  File "C:\Users\Ming\Desktop\python\csv_to_json.py", line 11, in <module>
    for 학교명, 학교급구분, 설립일자, 설립형태, 본교분교구분, 운영상태, 소재지도로, 위도, 경도 in reader:
  File "C:\Users\Ming\AppData\Local\Programs\Python\Python39\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 0: invalid continuation byte

이는 한글이 포한됨 파일을 UTP-8 태그를 이용하여 읽어와 해당 문제가 발생했습니다.
이를 해결하는 방법은 한글 전용 인코딩 방식인 euc-kr 혹은 cp949 태그를 사용하면 됩니다.

cp949euc-kr의 확장방식으로 euc-kr가 표현하지 못하는 문자까지 표현할 수 있습니다.

예제 코드는 아래와 같습니다.

import csv
import json

trade_csv_filename = './한국교원대학교_초중등학교위치_20210325_1616658916059_2895709.csv'
count = 0
cnt = 400000
li = []
with open(trade_csv_filename, newline='', encoding='euc-kr') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    print(reader)
    for 학교명, 학교급구분, 설립일자, 설립형태, 본교분교구분, 운영상태, 소재지도로, 위도, 경도 in reader:
    .
    .
    .
profile
츄르 값 벌기 위해 코딩하는 아키텍쳐
post-custom-banner

0개의 댓글