Bonjour à tous,
Je travaille sur une base de données et j'ai réussi à extraire du texte qui change à chaque entrée différente de paramètres, sur ce point là tout est ok, j'ai utilisé le module re pour délimiter une zone de recherche sauf que le texte est énorme et une seule partie m'intéresse à chaque fois.
Par conséquent, j'aimerais trouver la façon de d'extraire autour d'un mot, par exemple à partir de la majuscule (début de phrase) jusqu'au point parmi les "phrases" contenant le mot "numération" dans l'extrait ci-dessous :
* Surveillance hématologique :
- Il est nécessaire de procéder à des numérations
- formules sanguines (plaquettes comprises) au début du traitement puis toutes les deux semaines pendant les trois premiers mois de traitement. En cas de traitement inférieur à 3 mois, un contrôle de la numération
-formule sanguine (plaquettes comprises) doit être effectué dans les 15 jours qui suivent l'arrêt.Quand le taux de polynucléaires neutrophiles est inférieur à 1500/mm3, les résultats doivent être confirmés.
- Dans le cas d'une neutropénie (< 1500 neutrophiles /mm3) ou d'une thrombopénie (< 100000 plaquettes /mm3), il est nécessaire d'arrêter le traitement.. La ticlopidine ayant une demi
-vie longue, tout patient interrompant le traitement dans les trois premiers mois suivant son instauration doit effectuer une numération
- formule sanguine avec contrôle des cellules de la lignée blanche 2 semaines après l'arrêt du traitement.. Un contrôle sanguin, incluant le comptage des différents leucocytes et des plaquettes, doit être continué jusqu'à retour à des valeurs normales.
*", '
Il est possible que cela requière l'utilisation du module re à nouveau, mais j'ai du mal à comprendre les syntaxes/ explications que je trouve en ligne et dans mon livre ( Apprendre à programmer avec Python 3, oui je sais c'est cliché) il n'y a strictement rien sur le module re. Après je me trompe peut-être sur la méthode à utiliser, je viens de commencer python et je n'ai pas la prétention de connaître toutes les fonctionnalités.
voici mon script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 request ="""SELECT distinct (..... requête SQL classique) ;""" db_cursor.execute(request) liste_de_resultats = db_cursor.fetchall() regexp = re.compile(r"-> Surveillance.*?->" , re.IGNORECASE | re.MULTILINE | re.DOTALL) for (txtpemg,) in liste_de_resultats: txtpemg2 = txtpemg.replace("\r","").replace("\n","") r = regexp.findall(txtpemg2) r2 = str(r).replace("->", "\n *").replace("-","\n "" -").replace("·","\n ·") print (r2)
Merci pour l'aide si vous passez par là !
Partager