주소가 잘못 구성된 스프레드 시트가 있는데 지오 코딩에 사용할 수 있도록 합리적으로 필요합니다. 나는 주소를 파싱하기 위해 파이썬 라이브러리 중 일부를 시도했지만, 그 중 일부를 파악할 수는 없다. 예를 들어, 그들 모두에 대한regex 및 python을 사용하여 주소 블록에서 도시를 이동하고 앰퍼샌드를 추가하십시오.
"N MONON AVE FRANCESVILLE W YELLOW ST"
상태는 내가 아무 문제가 제출 된 문자열로 합치하지가 인디애나입니다. 위의 예에서는 지오 코더 수락 않는 교차로,있는 그대로 :
"N MONON AVE & W YELLOW ST FRANCESVILLE"
내 생각하는 가장 쉬운 방법은 후 첫 번째 단어를 찾을 수 있다는 것이다 거리 유형 (Ave, Dr, Ct 등)을 선택하고 끝까지 이동 한 다음 해당 위치에 앰퍼샌드를 추가합니다.
이 코드는 매우 비효율적 일 수 있지만 첫 번째 스트리트 유형 만 캡처합니다. 위의 예에서는 AVE를 출력합니다.
/(Avenue|Lane|Road|Boulevard|Drive|Street|Ave|Dr|Rd|Blvd|Ln|St)[^(Avenue|Lane|Road|Boulevard|Drive|Street|Ave|Dr|Rd|Blvd|Ln|St)]/i
어떻게 해야할지 잘 모르겠지만 거리 유형의 첫 번째 인스턴스 바로 뒤에 오는 단어를 잡으라고 말하면됩니다. 거기에서 re.search와 .group [n]을 사용하여 도시를 추출하고 파싱 된 문자열에 던져 넣을 수 있어야합니다.
는 https://regex101.com/r/Am033H/1 및 http://ideone.com/UNgnAy 참조하십시오. –