diff options
Diffstat (limited to 'gestionOMS.py')
-rw-r--r-- | gestionOMS.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gestionOMS.py b/gestionOMS.py new file mode 100644 index 0000000..0ff4d5d --- /dev/null +++ b/gestionOMS.py | |||
@@ -0,0 +1,83 @@ | |||
1 | #!/usr/bin/env python3 | ||
2 | # -*- coding: utf-8 -*- | ||
3 | """ | ||
4 | Created on Mon May 18 08:59:11 2020 | ||
5 | |||
6 | @author: sekhmet | ||
7 | """ | ||
8 | from gestion_erreurs import * | ||
9 | from configuration import * | ||
10 | |||
11 | import csv | ||
12 | |||
13 | |||
14 | |||
15 | ################################### | ||
16 | # Section où on prépare le graphique | ||
17 | # Fonction qui définit le dégradé | ||
18 | def degrade(nb): | ||
19 | """ | ||
20 | prend en arg un float entre 0 et 100 et renvoie un zoli dégradé (triplet rgb) | ||
21 | """ | ||
22 | if nb<50: | ||
23 | # degrade sur le bleu | ||
24 | return (0,1*nb/50,1-(nb/50)) | ||
25 | else: | ||
26 | # dégradé du vert vers le rouge | ||
27 | return ((nb-50)/50,1-(nb-50)/50,0) | ||
28 | |||
29 | # la liste des numéros de colonne, avec leur label et leur couleur | ||
30 | def affichepercentile(pc): | ||
31 | if pc==50: | ||
32 | return "50% (Médiane)" | ||
33 | else: | ||
34 | return str(pc)+"%" | ||
35 | def afficheecarttype(z): | ||
36 | if z==0: | ||
37 | return "Moyenne" | ||
38 | elif z<0: | ||
39 | return str(z)+"z" | ||
40 | else: | ||
41 | return "+"+str(z)+"z" | ||
42 | |||
43 | liste_data_labels_p = [(nocol,affichepercentile(pc),degrade(pc)) for (nocol,pc) in liste_data_choisie_p] | ||
44 | liste_data_labels_z = [(nocol,afficheecarttype(z),degrade((z+3)/3*50) ) for (nocol,z) in liste_data_choisie_z] | ||
45 | |||
46 | #liste_data_labels= liste_data_labels_z | ||
47 | |||
48 | |||
49 | |||
50 | |||
51 | ##################### outils pour lire les données OMS | ||
52 | |||
53 | def convertit_ligne(ligne): | ||
54 | """ transforme une table en table de nombres""" | ||
55 | t = [] | ||
56 | for elt in ligne: | ||
57 | t.append(float(elt)) | ||
58 | return t | ||
59 | |||
60 | |||
61 | |||
62 | def lire_fichier_csv(fichier): | ||
63 | """ lire un fichier csv et le renvoyer en table""" | ||
64 | table=[] | ||
65 | with open(fichier, "r") as fichier_csv: | ||
66 | reader_notes = csv.reader(fichier_csv,delimiter="\t") | ||
67 | debut = True | ||
68 | for ligne in reader_notes: | ||
69 | if (not debut): | ||
70 | table.append(convertit_ligne(ligne)) | ||
71 | #table.append(ligne) | ||
72 | else: | ||
73 | debut = False | ||
74 | return table | ||
75 | |||
76 | |||
77 | def extraire_colonne(table,ncol,maxi): | ||
78 | """ extrait une colonne d'un tableau double, de taille maximum maxi""" | ||
79 | t = [] | ||
80 | for i in range( min(len(table),maxi) ): | ||
81 | t.append(table[i][ncol]) | ||
82 | return t | ||
83 | |||