workaround Parcelle

main
p 2 years ago
parent b425dcf409
commit 2c714cf42d

1
.gitignore vendored

@ -164,3 +164,4 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder. # option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/ #.idea/
crawler/outnovembre.csv

File diff suppressed because it is too large Load Diff

@ -30,6 +30,8 @@ class SplitAndSort:
return result return result
# Une fonction qui valide tout ce qui est un couple n°/nom de rue # Une fonction qui valide tout ce qui est un couple n°/nom de rue
def isWorth(self, value): def isWorth(self, value):
# Le regex qui évalue ce qu'il faut garder # Le regex qui évalue ce qu'il faut garder
@ -47,7 +49,6 @@ class SplitAndSort:
result = False result = False
return result return result
# Une fonction qui enlève tous les trucs peu utiles ou encombrants des adresses # Une fonction qui enlève tous les trucs peu utiles ou encombrants des adresses
# ("immeuble", infos en parenthèses, infos sur l'arrêté, etc) # ("immeuble", infos en parenthèses, infos sur l'arrêté, etc)
def removeClutter(self,value): def removeClutter(self,value):
@ -64,13 +65,16 @@ class SplitAndSort:
expr = r"(((\d).*(\da\b))(?=\s?\S?.{8,})|((\d).*(\db\b))(?=\s?\S?.{8,})|((\d).*(\dt\b))(?=\s?\S?.{8,})|((\d).*(\dbis\b))(?=\s?\S?.{8,})|((\d).*(\dter\b))(?=\s?\S?.{8,})|((\d).*(\d))(?=\s?\S?.{8,})|(\da\b)(?=\s?\S?.{8,})|(\db\b)(?=\s?\S?.{8,})|(\dbis\b)(?=\s?\S?.{8,})|(\dt\b)(?=\s?\S?.{8,})|(\dter\b)(?=\s?\S?.{8,})|(\d)(?=\s?\S?.{8,}))" expr = r"(((\d).*(\da\b))(?=\s?\S?.{8,})|((\d).*(\db\b))(?=\s?\S?.{8,})|((\d).*(\dt\b))(?=\s?\S?.{8,})|((\d).*(\dbis\b))(?=\s?\S?.{8,})|((\d).*(\dter\b))(?=\s?\S?.{8,})|((\d).*(\d))(?=\s?\S?.{8,})|(\da\b)(?=\s?\S?.{8,})|(\db\b)(?=\s?\S?.{8,})|(\dbis\b)(?=\s?\S?.{8,})|(\dt\b)(?=\s?\S?.{8,})|(\dter\b)(?=\s?\S?.{8,})|(\d)(?=\s?\S?.{8,}))"
# On extrait le groupe numérique et on le place dans la variable "nbr" # On extrait le groupe numérique et on le place dans la variable "nbr"
sep = regex.search(expr, value, regex.IGNORECASE | regex.MULTILINE) sep = regex.search(expr, value, regex.IGNORECASE | regex.MULTILINE)
nbr = sep[0] if sep :
# On supprime le texte de la variable "nbr" de l'adresse (et on enlève les espaces en trop) nbr = sep[0]
invexpr = regex.compile(nbr) # On supprime le texte de la variable "nbr" de l'adresse (et on enlève les espaces en trop)
name = regex.sub(invexpr, '', value, regex.IGNORECASE | regex.MULTILINE) invexpr = regex.compile(nbr)
name = name.strip() name = regex.sub(invexpr, '', value, regex.IGNORECASE | regex.MULTILINE)
# On retourne une liste avec le groupe numérique d'un côté, le nom de rue de l'autre name = name.strip()
return (nbr,name) # On retourne une liste avec le groupe numérique d'un côté, le nom de rue de l'autre
return (nbr,name)
else :
return ('01','erreur')

Loading…
Cancel
Save