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
태그를 사용하면 됩니다.
cp949
는 euc-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:
.
.
.