diff options
Diffstat (limited to 'faq.py')
-rw-r--r-- | faq.py | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -0,0 +1,51 @@ | |||
1 | #!/usr/bin/env python3 | ||
2 | # -*- coding: utf-8 -*- | ||
3 | ### Les fonctions et données pour la FAQ | ||
4 | |||
5 | import csv | ||
6 | fichier_FAQ = "FAQ_data.txt" | ||
7 | |||
8 | # Les questions seront dans une database sous la forme (categorie,question,reponse) | ||
9 | |||
10 | def lire_fichier_csv_simple(fichier): | ||
11 | """ lire un fichier csv et le renvoyer en table""" | ||
12 | table=[] | ||
13 | with open(fichier, "r") as fichier_csv: | ||
14 | reader_notes = csv.reader(fichier_csv,delimiter=",",dialect="unix") | ||
15 | for ligne in reader_notes: | ||
16 | if ligne != []: | ||
17 | table.append(ligne) | ||
18 | return table | ||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | # On trie par catégorie | ||
25 | #table_faq.sort(key=(lambda x: x[0])) | ||
26 | |||
27 | def extraire_categories(table): | ||
28 | """ extrait les catégories (1ere colonne du tableau de tableau) | ||
29 | renvoie sous forme de liste""" | ||
30 | liste_cat = [] | ||
31 | for ligne in table: | ||
32 | if not (ligne[0] in liste_cat): | ||
33 | liste_cat.append(ligne[0]) | ||
34 | return liste_cat | ||
35 | |||
36 | def extraire_tables_par_cat(table): | ||
37 | """ construit deux tables : une de catégories, une de tables de (q,r) | ||
38 | categ[i] va correspondre à tableqr[i] en terme de catégorie""" | ||
39 | categ = extraire_categories(table) | ||
40 | tableqr = [ [] for i in range(len(categ)) ] | ||
41 | |||
42 | for ligne in table: | ||
43 | try: | ||
44 | cat = ligne[0] | ||
45 | (q,r) = [ligne[1],ligne[2]] | ||
46 | ind = categ.index(cat) | ||
47 | tableqr[ind].append((q,r)) | ||
48 | except: | ||
49 | print("Impossible de lire la ligne : "+str(ligne)) | ||
50 | |||
51 | return (categ,tableqr) | ||