git pyfleet en gitea.xiberus
This commit is contained in:
Executable
+46
@@ -0,0 +1,46 @@
|
||||
import sqlite3
|
||||
from datetime import datetime
|
||||
|
||||
db = sqlite3.connect('nexus.db')
|
||||
|
||||
# Ver cuántos registros tienen itv con datos
|
||||
total = db.execute("SELECT COUNT(*) FROM vehiculos WHERE itv IS NOT NULL AND itv != ''").fetchone()[0]
|
||||
print(f'Registros con ITV: {total}')
|
||||
|
||||
# Ver ejemplos del formato actual
|
||||
ejemplos = db.execute("SELECT id, itv FROM vehiculos WHERE itv IS NOT NULL AND itv != '' LIMIT 5").fetchall()
|
||||
print('Ejemplos actuales:')
|
||||
for r in ejemplos: print(f' id={r[0]} itv={r[1]}')
|
||||
|
||||
# Convertir MM/DD/YY HH:MM:SS -> YYYY-MM-DD
|
||||
rows = db.execute("SELECT id, itv FROM vehiculos WHERE itv IS NOT NULL AND itv != ''").fetchall()
|
||||
actualizados = 0
|
||||
errores = 0
|
||||
for row in rows:
|
||||
id_, itv_raw = row
|
||||
try:
|
||||
# Intentar formato MM/DD/YY HH:MM:SS
|
||||
dt = datetime.strptime(itv_raw.strip(), '%m/%d/%y %H:%M:%S')
|
||||
itv_nuevo = dt.strftime('%Y-%m-%d')
|
||||
db.execute('UPDATE vehiculos SET itv=? WHERE id=?', (itv_nuevo, id_))
|
||||
actualizados += 1
|
||||
except:
|
||||
try:
|
||||
# Intentar formato MM/DD/YY sin hora
|
||||
dt = datetime.strptime(itv_raw.strip(), '%m/%d/%y')
|
||||
itv_nuevo = dt.strftime('%Y-%m-%d')
|
||||
db.execute('UPDATE vehiculos SET itv=? WHERE id=?', (itv_nuevo, id_))
|
||||
actualizados += 1
|
||||
except:
|
||||
print(f' Error en id={id_} valor={itv_raw}')
|
||||
errores += 1
|
||||
|
||||
db.commit()
|
||||
print(f'Actualizados: {actualizados}, Errores: {errores}')
|
||||
|
||||
# Verificar resultado
|
||||
ejemplos = db.execute("SELECT id, itv FROM vehiculos WHERE itv IS NOT NULL AND itv != '' LIMIT 5").fetchall()
|
||||
print('Ejemplos tras conversión:')
|
||||
for r in ejemplos: print(f' id={r[0]} itv={r[1]}')
|
||||
|
||||
db.close()
|
||||
Reference in New Issue
Block a user