Un sistema de validación y procesamiento de datos que incluye validadores para DNI/NIE españoles, números de teléfono, fechas, coordenadas geográficas y información de productos.
- Validación de DNI/NIE: Verifica la validez de documentos de identidad españoles
- Validación de teléfonos: Procesa números de teléfono en múltiples formatos
- Validación de fechas: Soporte para múltiples formatos de fecha y hora
- Validación de coordenadas: Procesamiento de coordenadas GPS en varios formatos
- Procesamiento de archivos CSV: Lectura y validación de archivos de datos
- Búsquedas avanzadas: Filtrado por teléfono, NIF, rango de tiempo y ubicación geográfica
content/
├── main.py # Archivo principal con la lógica de procesamiento
├── DNI.py # Validador de DNI españoles
├── NIE.py # Validador de NIE españoles
├── TLF.py # Validador de números de teléfono
├── FECHA.py # Validador y procesador de fechas
├── COORDS.py # Validador y procesador de coordenadas GPS
├── PROD.py # Procesador de información de productos
├── datos.csv # Archivo de datos de ejemplo
└── ejemplo.csv # Archivo de ejemplo adicional
- Clona el repositorio:
git clone https://github.com/JJavierBS/LogAnalyzer.git
cd LogAnalyzer- Instala las dependencias:
pip install regexEl programa se ejecuta desde la línea de comandos con diferentes opciones:
python main.py -n archivo.csvpython main.py -sphone "777 315 579" archivo.csvpython main.py -snif "12345678Z" archivo.csvpython main.py -stime "2023-01-01 00:00" "2023-12-31 23:59" archivo.csvpython main.py -slocation "40.4168, -3.7038" 10 archivo.csvEl archivo CSV debe tener el siguiente formato por línea:
teléfono; NIF/NIE; fecha; coordenadas; producto; precio
777 315 579; X3662200W; 07:18:34 20/01/2086; 0412733.3823S0711759.0795E; Huawei Pura 70 Pro; 1053.00€
- DNI: 8 dígitos + letra de control (ej:
12345678Z) - NIE: X/Y/Z + 7 dígitos + letra de control (ej:
X1234567L)
- Formato nacional:
XXX XXX XXX(ej:777 315 579) - Formato internacional:
+XX XXXXXXXXX(ej:+34 777315579)
- Formato 1:
YYYY-MM-DD HH:MM(ej:2023-12-25 14:30) - Formato 2:
Month DD, YYYY H:MM AM/PM(ej:March 24, 2023 9:03 AM) - Formato 3:
HH:MM:SS DD/MM/YYYY(ej:19:54:24 28/06/2023)
- Formato decimal:
±DD.DDDD, ±DDD.DDDD(ej:-23.3, 74.8) - Formato DMS:
DDº MM' SS.SSSS" N/S, DDDº MM' SS.SSSS" E/W - Formato compacto:
DDDMMSS.SSSSN/SDDDMMSS.SSSEE/W
- Verificación de formato y validez de todos los campos
- Cálculo automático de dígitos de control para DNI/NIE
- Conversión entre diferentes formatos de fecha y coordenadas
- Por teléfono: Encuentra todas las entradas con un número específico
- Por NIF: Busca por documento de identidad
- Por tiempo: Filtra entradas en un rango temporal
- Por ubicación: Busca entradas dentro de un radio geográfico usando la fórmula de Haversine
JJavierBS
- GitHub: @JJavierBS
Si tienes alguna pregunta o problema, por favor abre un issue en GitHub.
⭐ Si este proyecto te ha sido útil, ¡no olvides darle una estrella!