summaryrefslogtreecommitdiff
path: root/data_textes.py
diff options
context:
space:
mode:
Diffstat (limited to 'data_textes.py')
-rw-r--r--data_textes.py91
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
9liste_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
24import csv
25
26chemin_data = "data/"
27fichier_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
35def 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
47def 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
56def 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
77def 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
82tablecomplete = lire_fichier_csv_simple(fichier_bingo)
83tabletextes = 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