Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 123 Main Street, Chicago, IL 12345
- 3214 Overland Drive, Los Angeles, CA 49382
- 29 NE 9th Street, New York, NY 29384
- import csv
- from geopy.geocoders import Nominatim
- from geopy.geocoders import GoogleV3
- ADDRESS_FILE = "Addresses"
- def read_csv(file):
- with open(file,'r') as f:
- reader = csv.reader(f)
- address_list = list(reader)
- return address_list
- def get_lat_lon(address):
- geolocator = Nominatim()
- try:
- location = geolocator.geocode(address)
- return location.latitude, location.longitude
- except Exception:
- return 0, 0
- def google_lat_lon(address):
- geolocator = GoogleV3(api_key="xxxxx")
- try:
- location = geolocator.geocode(address)
- return location.latitude, location.longitude
- except Exception:
- return 0, 0
- def find_coordinates(address):
- google_found = ""
- lat, lon = get_lat_lon(address)
- lat, lon = google_lat_lon(address)
- if lat == 0 and lon == 0:
- lat, lon = google_lat_lon(address)
- google_found = "Note: used Google"
- return lat, lon, google_found
- def write_file(info):
- with open(ADDRESS_FILE+" with GPS.csv","w", newline='') as csvfile:
- writer = csv.writer(csvfile, delimiter = ",")
- for line in info:
- writer.writerow(line)
- def main():
- addresses = read_csv(ADDRESS_FILE+".csv")
- address_GPS = []
- for address in addresses:
- addr = address[0].replace(u'xa0', u' ')
- lat, lon, google_found = find_coordinates(addr)
- address_GPS.append((addr,lat,lon, google_found, '=HYPERLINK("https://www.google.com/maps/search/"&B1&","&C1,"Link")'))
- for addr in address_GPS:
- print(addr[:len(addr)-1])
- write_file(address_GPS)
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment