-
문자열에 \xa0 있을 경우 제거하는 방법코딩 연습 2022. 12. 2. 10:50
엑셀 파일의 셀 값(도로명주소)을 읽어서 파이썬 replace() 함수로 공백 제거 후 다른 값과 비교하려고 했으나 공백 제거가 안 되었는데, 원인을 찾아보니 \xa0 문자가 있었네요. 이 문자를 제거하는 방법을 찾아서 해결하고 내용을 올려봅니다.
문자열에 \xa0가 있는 엑셀 파일의 도로명주소
엑셀 파일의 1열에 도로명주소 수천 개를 입력하고, 파이썬 코드에서 파일을 읽고 도로명주소(juso.go.kr)에 검색어로 입력한 후 검색한 결과를 다른 엑셀 파일에 저장하는 코드를 짰는데, 엑셀의 주소 중 문제가 되는 건 '강원도 강릉시 강변로 270 '이었다. 또 다른 주소들도 문제가 있는 것들이 많았는데, 이것을 파이썬의 replace() 함수로 공백을 제거해보았지만, 다음과 같은 결과가 나왔다.
juso = '강원도 강릉시 강변로 270' juso1 = juso.replace(' ', '') print(juso1) # 강원도강릉시 강변로 270
위 주소를 문자마다 타입을 찍어보았다.
juso = '강원도 강릉시 강변로 270' juso1 = '' for ju in juso: if ju != ' ': juso1 += ju print(repr(ju), ord(ju), type(ju)) print(juso1) print(repr(chr(160)))
출력 결과를 확인해보니 아래처럼 중간에 '\xa0' 문자가 보였다. 이 문자는 non-breaking space Latin1 (ISO 8859-1)의 '비 공백 공간 문자'라고 한다.
'강' 44053 <class 'str'> '원' 50896 <class 'str'> '도' 46020 <class 'str'> ' ' 32 <class 'str'> '강' 44053 <class 'str'> '릉' 47497 <class 'str'> '시' 49884 <class 'str'> '\xa0' 160 <class 'str'> '강' 44053 <class 'str'> '변' 48320 <class 'str'> '로' 47196 <class 'str'> '\xa0' 160 <class 'str'> '2' 50 <class 'str'> '7' 55 <class 'str'> '0' 48 <class 'str'> 강원도강릉시 강변로 270 '\xa0'
'\xa0' 문자 제거
제거 방법은 replace(u'\xa0', u' ') 함수로 가능!
juso = '강원도 강릉시 강변로 270' juso1 = '' for ju in juso: if ju == '\xa0': ju = ju.replace(u'\xa0', u' ') print(repr(ju), ord(ju), type(ju)) if ju != ' ': juso1 += ju print(juso1) ''' '강' 44053 <class 'str'> '원' 50896 <class 'str'> '도' 46020 <class 'str'> ' ' 32 <class 'str'> '강' 44053 <class 'str'> '릉' 47497 <class 'str'> '시' 49884 <class 'str'> ' ' 32 <class 'str'> '강' 44053 <class 'str'> '변' 48320 <class 'str'> '로' 47196 <class 'str'> ' ' 32 <class 'str'> '2' 50 <class 'str'> '7' 55 <class 'str'> '0' 48 <class 'str'> 강원도강릉시강변로270 '''
위 출력 결과를 보면, '\xa0' 문자가 없어져서 주소가 '강원도강릉시강변로270'처럼 원하는 대로 나왔네요.
'코딩 연습' 카테고리의 다른 글
이미지 병합 - 파이썬 Tkinter 활용 (0) 2022.12.28 파이썬 크롬드라이버 자동설치 (chromedriver_autoinstaller) (0) 2022.12.20 공동주택 단지코드(아파트 코드) 추출 - 파이썬 API 활용 (0) 2022.11.30 엑셀 암호 해제 방법 - 파이썬으로 엑셀 암호 제거 프로그램 만들기 (0) 2022.10.13 Pandas - 데이터 분석용 파이썬 라이브러리 "판다스" #1 (0) 2022.10.08