-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalidaciones.py
More file actions
85 lines (75 loc) · 2.27 KB
/
validaciones.py
File metadata and controls
85 lines (75 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import pandas as pd
import numpy as np
import validators
def tel_valido(tel):
"""
valida si lo que recibe es una cadena string numerica o un int,
y devuelve np.nan en caso de no recibir un string o no ser un int
"""
if type(tel) == str:
tel.replace(" ","")
if tel.isnumeric():
return tel
elif type(tel) == int:
return
return np.nan
def validacion_cp(cp):
"""
valida si lo que recibe es una cadena string alfanumerica o numerica
y devuelve np.nan en caso de no recibir un string
"""
if type(cp) == str:
if cp.isnumeric() or cp.isalnum():
return cp
return np.nan
def web_o_nan(d):
"""
al recivir un str se le agrega ( http:// ) de no tenerlo.
se devuelve np.nan en caso de no ser una pagina valida
"""
principio_pagina="http://"
principio_pagina_s="https://"
if type(d) == str:
if d.find(principio_pagina_s) >=0 or d.find(principio_pagina) >= 0:
es_una_web_valida = validators.url(d)
else:
d=principio_pagina+d
es_una_web_valida = validators.url(d)
if type(es_una_web_valida) == bool and es_una_web_valida:
return d
else:
return np.nan
else:
return np.nan
def mail_o_nan(mail):
"""valida si recibe un string y es un email
devolviendo np.nan en caso de contrario
"""
if type(mail) == str and validators.email(mail) == True:
return mail
return np.nan
def int_o_cero(numero):
"""valida si recibe un entero
devolviendo 0 en caso de contrario
"""
if type(numero) != int:
return 0
return numero
def string_o_nan(palabra):
"""valida si recibe un string no numerico
devolviendo np.nan en caso de contrario
"""
if type(palabra) != str:
return np.nan
if palabra.isnumeric() or palabra.isspace() or palabra=="":
return np.nan
return palabra
def incaa_o_false(valor):
"""valida si recibe "si" de tipo string retornando 1 en su lugar
y devolviendo un booleano: False en caso de contrario
"""
if type(valor) == str and valor.lower() == "si":
return 1
elif type(valor) == int and valor == 1:
return 1
return False