본문 바로가기
Project

[CBB 공모전] ParserError

by aimaimee 2023. 6. 7.

230524 수

 

ParserError 발생 원인 파악

파일을 불러올 때부터 encoding 등을 설정해줘도 ParserError가 발생한다.

 

블로그의 방법을 참고하여, csv 모듈을 사용해 데이터를 불러와보면, 6번 인덱스처럼 주소의 컬럼이 구분자로 잘못 인식이 되어 컬럼에 들어갈 내용이 밀린 것을 볼 수 있다.

file_path = 'data\쓰레기통\서울특별시 마포구 용강동 상점가 담배꽁초수거함 설치 현황_20220805.csv'
f = open(file_path, 'rt')
reader = csv.reader(f)

csv_list = []
for l in reader:
    csv_list.append(l)
f.close()

df = pd.DataFrame(csv_list)
df.head()

raw data를 확인했을 때, 마찬가지로 주소 부분의 ','가 컬럼 구분자로 인식되고 있다.

 

해결 방법

raw data의 전체 데이터를 다 사용하기 원했기 때문에, error_bad_lines=False 기능을 사용하지 않고, 수작업으로 raw data를 수정해줬다.

1. ParserError의 line9번에서 에러가 발생함

2. 8, 9번 인덱스 값을 확인해봄. 8번의 가게앞2, 창고1과 9번의 가게앞 2, 가게뒤 1가 각기 다른 컬럼으로 들어가있음

3. raw data 상으로는 가게앞2/창고1, 가게앞 2/가게뒤 1로 보여야 함을 확인

 

4. 깃헙에 업로드해 둔 raw data를 들어가면 우측 상단에 'Raw'라는 버튼이 있다. 이 버튼을 눌러서 해당 부분을 바로 수정할 수 있다. ex) 9번의 '가게앞2, 창고1'을 '가게앞2/창고1'로 수정함

댓글