diff options
Diffstat (limited to 'data_textes.py')
-rw-r--r-- | data_textes.py | 91 |
1 files changed, 77 insertions, 14 deletions
diff --git a/data_textes.py b/data_textes.py index 8082ecf..85baa54 100644 --- a/data_textes.py +++ b/data_textes.py | |||
@@ -6,17 +6,80 @@ Created on Mon Jul 26 22:50:08 2021 | |||
6 | @author: sekhmet | 6 | @author: sekhmet |
7 | """ | 7 | """ |
8 | 8 | ||
9 | liste_textes = [ | 9 | #liste_textes = [ |
10 | "Tu vas pas l'allaiter jusqu'à [âge quelconque] !", | 10 | # "Tu vas pas l'allaiter jusqu'à [âge quelconque] !", |
11 | "Tu es sûre que tu as assez de lait ?", | 11 | # "Tu es sûre que tu as assez de lait ?", |
12 | "Quand est-ce que tu vas lui donner du lait normal ?", | 12 | # "Quand est-ce que tu vas lui donner du lait normal ?", |
13 | "Il/elle fait ses nuits ?", | 13 | # "Il/elle fait ses nuits ?", |
14 | "Il/elle dort encore avec vous ?", | 14 | # "Il/elle dort encore avec vous ?", |
15 | "Laisse le/la pleurer il/elle finira bien par dormir (et/ou ça lui fera les poumons).", | 15 | # "Laisse le/la pleurer il/elle finira bien par dormir (et/ou ça lui fera les poumons).", |
16 | "Ton lait n'est pas/plus assez nourrissant.", | 16 | # "Ton lait n'est pas/plus assez nourrissant.", |
17 | "Il/elle doit apprendre à se détacher de maman.", | 17 | # "Il/elle doit apprendre à se détacher de maman.", |
18 | "Tu as pris combien de kilos ?", | 18 | # "Tu as pris combien de kilos ?", |
19 | "Donne lui un biberon, il/elle fera ses nuits.", | 19 | # "Donne lui un biberon, il/elle fera ses nuits.", |
20 | "Tu arrêteras quand il/elle aura des dents, puisqu'il/elle va te mordre", | 20 | # "Tu arrêteras quand il/elle aura des dents, puisqu'il/elle va te mordre", |
21 | 21 | # | |
22 | ] \ No newline at end of file | 22 | # ] |
23 | |||
24 | import csv | ||
25 | |||
26 | chemin_data = "data/" | ||
27 | fichier_bingo = chemin_data+"bingo_data.txt" | ||
28 | # Au format : catégorie, phrase, réponses. | ||
29 | |||
30 | #fichier_FAQ = chemin_data+"FAQ_data.txt" | ||
31 | #fichier_changelog = chemin_data+"changelog_data.txt" | ||
32 | |||
33 | |||
34 | |||
35 | def lire_fichier_csv_simple(fichier, minlong=2): | ||
36 | """ lire un fichier csv et le renvoyer en tableau de tableaux | ||
37 | minlong est la longueur minimale d'une ligne pour que ça soit accepté | ||
38 | (plus court on ne met même pas)""" | ||
39 | table=[] | ||
40 | with open(fichier, "r") as fichier_csv: | ||
41 | reader_notes = csv.reader(fichier_csv,delimiter=",",dialect="unix") | ||
42 | for ligne in reader_notes: | ||
43 | if len(ligne) >= minlong: # La ligne doit avoir plus de deux éléments | ||
44 | table.append(ligne) | ||
45 | return table | ||
46 | |||
47 | def extraire_categories(table): | ||
48 | """ extrait les catégories (1ere colonne du tableau de tableau) | ||
49 | renvoie sous forme de liste""" | ||
50 | liste_cat = [] | ||
51 | for ligne in table: | ||
52 | if not (ligne[0] in liste_cat): | ||
53 | liste_cat.append(ligne[0]) | ||
54 | return liste_cat | ||
55 | |||
56 | def extraire_textes_par_cat(table): | ||
57 | """ construit deux tables : une de catégories (liste simple) | ||
58 | une autre qui est un tableau dont chaque élément est un tuple | ||
59 | (phrase, reponses) où reponses est une liste (éventuellement vide) | ||
60 | |||
61 | categ[i] va correspondre à tableqr[i] en terme de catégorie""" | ||
62 | categ = extraire_categories(table) | ||
63 | tableqr = [ [] for i in range(len(categ)) ] | ||
64 | |||
65 | for ligne in table: | ||
66 | try: | ||
67 | cat = ligne[0] | ||
68 | q = ligne[1] | ||
69 | lister = ligne[2:] # Le reste | ||
70 | ind = categ.index(cat) | ||
71 | tableqr[ind].append((q,lister)) | ||
72 | except: | ||
73 | print("Impossible de lire la ligne : "+str(ligne)) | ||
74 | |||
75 | return (categ,tableqr) | ||
76 | |||
77 | def extraire_qr(table): | ||
78 | """ on enlève juste la catégorie en début de ligne""" | ||
79 | table2 = [ ligne[1:] for ligne in table] | ||
80 | return table2 | ||
81 | |||
82 | tablecomplete = lire_fichier_csv_simple(fichier_bingo) | ||
83 | tabletextes = extraire_qr(tablecomplete) | ||
84 | |||
85 | #liste_cat, liste_textes = extraire_textes_par_cat(lire_fichier_csv_simple(fichier_bingo)) \ No newline at end of file | ||