]>
Commit | Line | Data |
---|---|---|
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) |