2014-02-23 47 views
0

是否有任何方式使用python從字符串(比如email)中提取街道地址?地址不是以設定的格式。它可以沒有州,郵政編碼,城市,但我可以猜測並提供這些參數,如果他們失蹤。另外,地址可以由兩條街道的角落表示。一旦我提取地址,我想將其發送到Google Map或其他類似的服務,以找回真實的格式化地址。從字符串中提取街道地址

它不需要100%準確,但有沒有圖書館要做到這一點?如果它不存在,我該如何開始?

+1

你能添加一些例子字符串和你想獲得什麼樣的輸出? – stark

回答

2

正如你自己已經說過的,地址可以有很多種格式。如果考慮其他國家的地址,事實上情況更糟糕。所以不,沒有一個真正的解析和清理這些地址的好方法。您希望將區域面積越大,可能的格式越複雜。

如果您想要將地址發送至Google Maps,則只需發送原始格式即可。谷歌擁有足夠的數據來提取更有用的部分,並儘可能地發揮它的作用。無論如何,當您將它發送給Google時,您可以首先執行此操作。

+1

但是,我不是至少在發送google之前提取一些候選人嗎?作爲一個字符串可能會很長。 – ysakamoto

0
a = re.split(r"[\s\-:\\/_,]", "string address here !") 
a1 = "" 
for i in a: 
    if re.findall(r"[^\W]",i): 
     a1 += i + " " 
print(a1) 

嘗試發送此谷歌。

0

地址通常遵循格式,可以利用正則表達式。這很棘手,幸運的是有一個很棒的圖書館讓你更容易。

pip install commonregex 

然後

from commonregex import CommonRegex 
parsed_text = CommonRegex("my email goes here") 
print(parsed_text.street_addresses)