<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 La géolocalisation avec le module geopy
Ce module permet de récupérer la longitude et la latitude d'un ieu en coordonnées WGS84 exprimées en decgrés décimaux
Localisation du lycee Camille Saint Saëns
Step1:  Localisation d' adresse quelconque.
Créer un programme qui renvoie la géolocalisation d'un point dont l'adresse est saisie par l'utilisateur.
Step2:  Saisie des résultats dans un fichier csv 
Step3:  Saisie des résultats dans un fichier csv 
Step5:  Saisie des résultats dans une base de donées sqlite
Cette approche vise à illustrer la gestion des données dans une base de données dédiée.
On commence par créer la table d'attribut de la base de donnée.
On choisit les titres des entêtes de colonnes et on qualifie le type de donées à placer dedans.
Step7:  Supprimer une table
Step8:  Saisie des résultats dans une base de données sqlite 
<ASSISTANT_TASK:>
Python Code:
import geopy
from geopy.geocoders import Nominatim
geocoder = Nominatim()
adresse = "22 rue Saint Lo, Rouen, France"
location = geocoder.geocode(adresse, True, 30)
print("longitude = ",location.longitude,"latitude = ",location.latitude)
Explanation: La géolocalisation avec le module geopy
Ce module permet de récupérer la longitude et la latitude d'un ieu en coordonnées WGS84 exprimées en decgrés décimaux
Localisation du lycee Camille Saint Saëns
End of explanation
import geopy
from geopy.geocoders import Nominatim
geocoder = Nominatim()
adresse = input("saissez l'adresse du lieu, la ville, le pays ")
location = geocoder.geocode(adresse, True, 30)
print("Les coordonnées du point situé au ",adresse,"sont : ")
print("longitude = ",location.longitude,"°","latitude = ",location.latitude,"°")
Explanation: Localisation d' adresse quelconque.
Créer un programme qui renvoie la géolocalisation d'un point dont l'adresse est saisie par l'utilisateur.
End of explanation
import csv
OuvrirEnEcriture = open("Lieux.csv","w")
fname = "Lieux.csv"
writer = csv.writer(OuvrirEnEcriture)
writer.writerow( ("ID","adresse","ville","pays","longitude","latitude") )
OuvrirEnEcriture.close()
Explanation: Saisie des résultats dans un fichier csv : Etape 1
Cette approche vise à illustrer la gestion simple des données. 
Dans un premier temps on crée le fichier et on saisi les entêtes de colonnes.
Il ne faut exécuter ce programme qu'une fois sinon le fichier est écrasé et remplacé.
End of explanation
import csv
import geopy
from geopy.geocoders import Nominatim
fichier="Lieux.csv"
OuvrirEnEcritureAjout = open("Lieux.csv","a")
writer = csv.writer(OuvrirEnEcritureAjout)
geocoder = Nominatim()
adresse = input("saissez l'adresse du lieu : ")
ville = input("saisissez le nom de la ville : ")
pays = input("saisissez le pays : ")
requete = adresse +","+ville+","+ pays
ID = int(input("indiquez l'id du lieu"))
#print(requete)
location = geocoder.geocode(requete, True, 30)
print("Les coordonnées du point situé au ",adresse," à ",ville," en ",pays,"sont : ")
print("longitude = ",location.longitude,"°","latitude = ",location.latitude,"°")
writer.writerow((ID,adresse,ville,pays,location.longitude,location.latitude))
OuvrirEnEcritureAjout.close()
Explanation: Saisie des résultats dans un fichier csv : Etape 2
On va maintenant rentrer dans le fichier des lignes correspondant à la saisie des données.  
Le fichier est ouvert avec l'argument "a" pour ajouter
End of explanation
import sqlite3
conn = sqlite3.connect("Lieux.db")
cursor = conn.cursor()
cursor.execute(CREATE TABLE IF NOT EXISTS lieux (
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
adresse TEXT,
ville TEXT,
pays TEXT,
longitude FLOAT,
latitude FLOAT)
)
conn.commit()
Explanation: Saisie des résultats dans une base de donées sqlite
Cette approche vise à illustrer la gestion des données dans une base de données dédiée.
On commence par créer la table d'attribut de la base de donnée.
On choisit les titres des entêtes de colonnes et on qualifie le type de donées à placer dedans.
End of explanation
#import sqlite3
#cursor = conn.cursor()
#cursor.execute(
#DROP TABLE lieux
#)
#conn.commit()
Explanation: Supprimer une table
End of explanation
import sqlite3
import geopy
from geopy.geocoders import Nominatim
geocoder = Nominatim()
#On ouvre la base de données
conn = sqlite3.connect("Lieux.db")
cursor = conn.cursor()
# On saisit les éléments à stocker
adresse = input("saissez l'adresse du lieu : ")
ville = input("saisissez le nom de la ville : ")
pays = input("saisissez le pays : ")
requete = adresse +","+ville+","+ pays
ID = int(input("indiquez l'id du lieu : "))
# on cherche les coordonnées su lieu
location = geocoder.geocode(requete, True, 30)
# on publie le résultat
print("Les coordonnées du point situé au ",adresse," à ",ville," en ",pays,"sont : ")
print("longitude = ",location.longitude,"°","latitude = ",location.latitude,"°")
# On stocke les données dans la base
cursor.execute('''INSERT INTO lieux VALUES (?,?,?,?,?,?);''', (ID, adresse, ville, pays, location.longitude, location.latitude))
conn.commit()
cursor.execute('''SELECT * FROM lieux;''')
enregistrements = cursor.fetchall()
for lieux in enregistrements:
    print("Le lieu n %s est situé : %s , à , %s en %s à %s ° de longitude et %s ° de latitude" % (lieux[0], lieux[1], lieux[2], lieux[3], lieux[4], lieux[5]))
conn.close()
Explanation: Saisie des résultats dans une base de données sqlite : étape 2
Il reste maintenant à remplir la base de données.
End of explanation
<END_TASK>