Skip to content

Analizador de ficheros de registros de eventos. Uso de expresiones regulares para separar y tratar por campos la información que se obtiene de un fichero, simulando ser un registro de compras de dispositivos.

Notifications You must be signed in to change notification settings

JJavierBS/LogAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

LogAnalyzer 📊

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.

🚀 Características

  • 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

📁 Estructura del proyecto

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

🛠️ Instalación

  1. Clona el repositorio:
git clone https://github.com/JJavierBS/LogAnalyzer.git
cd LogAnalyzer
  1. Instala las dependencias:
pip install regex

📖 Uso

El programa se ejecuta desde la línea de comandos con diferentes opciones:

Validar todas las líneas de un archivo

python main.py -n archivo.csv

Buscar por número de teléfono

python main.py -sphone "777 315 579" archivo.csv

Buscar por NIF/NIE

python main.py -snif "12345678Z" archivo.csv

Buscar por rango de tiempo

python main.py -stime "2023-01-01 00:00" "2023-12-31 23:59" archivo.csv

Buscar por ubicación (radio en km)

python main.py -slocation "40.4168, -3.7038" 10 archivo.csv

📝 Formato de datos

El archivo CSV debe tener el siguiente formato por línea:

teléfono; NIF/NIE; fecha; coordenadas; producto; precio

Ejemplo de línea válida:

777 315 579; X3662200W; 07:18:34 20/01/2086; 0412733.3823S0711759.0795E; Huawei Pura 70 Pro; 1053.00€

🔍 Formatos soportados

DNI/NIE

  • DNI: 8 dígitos + letra de control (ej: 12345678Z)
  • NIE: X/Y/Z + 7 dígitos + letra de control (ej: X1234567L)

Teléfonos

  • Formato nacional: XXX XXX XXX (ej: 777 315 579)
  • Formato internacional: +XX XXXXXXXXX (ej: +34 777315579)

Fechas

  • 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)

Coordenadas

  • 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

🧪 Funcionalidades principales

Validación de datos

  • 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

Búsquedas

  • 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

👤 Autor

JJavierBS

📞 Soporte

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!

About

Analizador de ficheros de registros de eventos. Uso de expresiones regulares para separar y tratar por campos la información que se obtiene de un fichero, simulando ser un registro de compras de dispositivos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages