goodthings4me.tistory.com
엑셀 파일의 셀 값(도로명주소)을 읽어서 파이썬 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'처럼 원하는 대로 나왔네요.

블로그 인기글
[국세청] 현금영수증가맹점으로 가입바랍니다. 메시지 해결방법(개인사업자)
▶ 현금영수증 가맹점 가입 메시지를 받고... 온라인 쇼핑몰 사업을 시작하려고 사업자등록증을 발급받고 난 후 얼마 안 있어서 국세청으로부터 어느 시점까지 '현금영수증 가맹점'으로 가입하라는 문자메시지가 받았었다. 그 메시지 기한이 오늘 도래했는데, 인터넷에서 찾아보니 홈택스에서 현금영수증 발급 사업자 신청을 할 수가 있었다. [관련내용] 홈>국세정책/제도>전자(세금)계산서/현금영수증/신용카드>현금영수증∙신용카드>가맹점가입 ▶ 홈택스 사이트에서 신청하는 절차는 다음과 같다. 우선, 홈택스에 로그인을 해야 합니다. 세상이 좋아져서 공인인증서 없이도 손쉽게 간편인증 로그인이 가능하다. 여러 인증방법 중 카카오톡 인증이 가장 편리한 거 같다. 간편인증 로그인 후 상단 '조회/발급' 탭 클릭 후 '현금영수증>현금..
goodthings4me.tistory.com
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
엑셀 시트 분리 저장 - 엑셀 파일의 시트를 분리하여 저장하기
엑셀을 사용하다 보면 엑셀 시트를 분리해서 저장해야 할 때가 있다. 최근에도 이런 경우가 발생하여 구글링 후 엑셀 시트 분리 업무를 수행하고 내친김에 다른 사람들도 사용할 수 있도록 파이썬 tkinter로 프로그램으로 만들어 보았다. Excel Sheets 분리 저장하는 프로그램(with 파이썬 Tkinter) ※ 프로그램 다운로드(네이버 MYBOX에서 공유) : ExcelSeparateSheets.zip ▶ 프래그램을 실행하면 다음과 같이 초기 화면이 보인다. 찾아보기 : 엑셀 파일이 있는 폴더를 선택한다. (프로그램이 있는 최상위 디렉터리가 열린다) 실행하기 : 프로그램 실행 버튼 상태 변경 순서 : 실행전 → 실행 중 → Sheet "OOO" 분리 저장 중 → 실행 완료 실행 결과 확인 : 엑셀 파..
goodthings4me.tistory.com
'코딩 연습' 카테고리의 다른 글
이미지 병합 - 파이썬 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 |
댓글