Files
pyfleet/extras/importar_historial.py
2026-08-28 19:30:48 +02:00

47 lines
1.4 KiB
Python
Executable File

import sqlite3
import csv
from datetime import datetime
DB = 'nexus.db' # ajusta la ruta si es necesario
CSV = 'historial.csv' # ajusta la ruta si es necesario
def convertir_fecha(fecha_str):
"""Convierte MM/DD/YY HH:MM:SS a YYYY-MM-DD"""
if not fecha_str:
return None
try:
dt = datetime.strptime(fecha_str.strip(), '%m/%d/%y %H:%M:%S')
return dt.strftime('%Y-%m-%d')
except:
return fecha_str.strip()
db = sqlite3.connect(DB)
insertados = 0
errores = 0
with open(CSV, newline='', encoding='utf-8-sig') as f:
reader = csv.DictReader(f)
for row in reader:
matricula = (row.get('Matricula') or '').strip()
unidad = (row.get('Unidad') or '').strip()
fecha = convertir_fecha(row.get('Cuando', ''))
observaciones = (row.get('Observaciones') or '').strip()
if not matricula:
continue
try:
db.execute('''
INSERT INTO historial (vehiculo_id, matricula, unidad, fecha, observaciones)
VALUES (NULL, ?, ?, ?, ?)
''', (matricula, unidad, fecha, observaciones))
insertados += 1
except Exception as e:
print(f'Error en fila {matricula}: {e}')
errores += 1
db.commit()
db.close()
print(f'Importación completada: {insertados} registros insertados, {errores} errores.')