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