parent
14be1a79eb
commit
bbd426cb53
@ -0,0 +1,62 @@
|
||||
import pandas as pd
|
||||
import psycopg2 as pg
|
||||
import subprocess as sp
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
|
||||
|
||||
# nom = input("Nom d'utilisateur : ")
|
||||
# print(nom)
|
||||
# util = 'db' + nom
|
||||
# print(util)
|
||||
sp.run(["stty", "-echo"])
|
||||
|
||||
|
||||
mdp = input("Le mot de passe stp : ")
|
||||
|
||||
|
||||
sp.run(["stty", "echo"])
|
||||
|
||||
co = None
|
||||
try:
|
||||
# Connexion à la base
|
||||
# Attention ! pensez à remplacer dblogin , login et mot_de_passe
|
||||
#avec vos informations
|
||||
co = pg.connect(host='londres',
|
||||
database ='dblolaborie',
|
||||
user='lolaborie',
|
||||
password = mdp)
|
||||
|
||||
df = pd.read_sql('''SELECT p.nomR,avg(s.gscore) as Moyenne_Score_Global_Region
|
||||
FROM Statistique s, Pays p, Region r
|
||||
WHERE s.codeP = p.code AND p.nomR = r.nom AND s.annee = '2021'
|
||||
GROUP BY p.nomR;''', con=co) # Score moyen global par région en 2021
|
||||
fig = df.plot(x='nomr', y='moyenne_position_region')
|
||||
fig.set_title('Score moyen global par région en 2021')
|
||||
fig.set_xlabel('Région')
|
||||
fig.set_ylabel('Score moyen (sur 100)')
|
||||
plt.show() # Affichage
|
||||
df = pd.read_sql('''SELECT p.nom, s.gscore, s.annee
|
||||
FROM Statistique s, Pays p
|
||||
WHERE s.codeP = p.code AND s.gscore = (SELECT min(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le moins élevé par année
|
||||
print(df)
|
||||
df = pd.read_sql('''SELECT p.nom, s.gscore, s.annee
|
||||
FROM Statistique s, Pays p
|
||||
WHERE s.codeP = p.code AND s.gscore = (SELECT max(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le plus élevé par année
|
||||
print(df)
|
||||
df = pd.read_sql('''SELECT p.nomR, s.gscore, s.annee
|
||||
FROM Statistique s, Pays p
|
||||
WHERE s.codeP = p.code AND s.gscore = (SELECT min(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le moins élevé par année
|
||||
print(df)
|
||||
df = pd.read_sql('''SELECT p.nomR, s.gscore, s.annee
|
||||
FROM Statistique s, Pays p
|
||||
WHERE s.codeP = p.code AND s.gscore = (SELECT max(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le plus élevé par année
|
||||
print(df)
|
||||
|
||||
# Affichage du message d'erreur en cas de probl ème de connexion
|
||||
except(Exception, pg.DatabaseError) as error :
|
||||
print(error)
|
||||
# Attention ! Toujours fermer la connexion lorsqu 'on en a plus besoin
|
||||
finally:
|
||||
if co is not None:
|
||||
co.close()
|
Loading…
Reference in new issue