Is there any way to extract a street address from a string (say, email) using python? The address does not come in a set format. It can come without state, zip code, city, but I can guess and supply these parameters if they are missing. Also, the address may be represented by a corner of two streets. Once I extract the address, I want to send it to Google Map or other similar service to get back the real, formatted address.
It doesn't need to be 100% accurate, but is there any library to do that? If it doesn't exist, how should I start?
As you already say yourself, an address can come in a large number of formats. And the reality is actually even worse if you take addresses from other countries into account. So no, there is not really a good way to parse and clean up such addresses. The larger the regional area is you want to include as possible formats, the more complicated it gets.
If you want to send the address to Google Maps anyway, then just send your original format. Google has enough data to extract the more useful parts and make the best possible out of it. As you are sending it to Google anyway, you can just do it in the first place.