forked from viennet/Referentiels
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from officiel import supprime_accent_espace
|
||
import unicodedata
|
||
|
||
def get_indice(champ, entetes):
|
||
"""Récupère l'indice d'une entête"""
|
||
for (i, entete) in enumerate(entetes):
|
||
if entete in champ:
|
||
return i
|
||
return None
|
||
|
||
|
||
def get_indice_sans_accent_ni_espace(champ, entetes):
|
||
"""Récupère l'indice d'une entête en se débarrassant des majuscules/caractères spéciaux/espace"""
|
||
champ_purge = supprime_accent_espace(champ).rstrip()
|
||
for (i, entete) in enumerate(entetes):
|
||
entete_purge = supprime_accent_espace(entete).rstrip()
|
||
if entete_purge in champ_purge:
|
||
return i
|
||
return None
|
||
|
||
|
||
def caracteres_recalcitrants(contenu):
|
||
|
||
# contenu = contenu.replace("\'", "'")
|
||
contenu = contenu.replace("è", "è")
|
||
contenu = contenu.replace("é", "é")
|
||
contenu = contenu.replace("â", "â").replace(b'a\xcc\x82'.decode("utf8"), "â")
|
||
# contenu = unicodedata.normalize("NFKD", contenu)
|
||
contenu = contenu.replace("’", "'") #.replace(b"\xe2\x80\x99".decode("utf8"), "'")
|
||
contenu = contenu.replace('\xa0', ' ') # le nbsp
|
||
# contenu = contenu.encode("utf8", "ignore").decode("utf8")
|
||
|
||
return contenu |