fix: no fallar con usuario sin tickets

This commit is contained in:
Tatiana Villa Ema 2026-04-25 13:37:25 +02:00
parent cea3be083f
commit 2d9ce9f97c
2 changed files with 15 additions and 0 deletions

View File

@ -95,6 +95,14 @@ columnas = ["fecha", "cantidad", "producto", "precio_unitario", "precio_total"]
df = pd.DataFrame(datos, columns=columnas)
df.dropna(subset=["fecha"], inplace=True)
if df.empty:
print(f"[info] No hay tickets para el usuario '{args.usuario}'. Creando archivos vacios.")
empty = pd.DataFrame(columns=["producto", "diferencia_dias", "proxima_compra",
"es_estacional", "meses_temporada",
"fecha_estimada_proxima_compra"])
empty.to_csv(os.path.join(output_dir, "lista_compra_estimado.csv"), index=False)
import sys; sys.exit(0)
# Guardar detalle completo
df.to_csv(os.path.join(output_dir, "detalle_productos.csv"), index=False)

View File

@ -72,6 +72,13 @@ except FileNotFoundError:
print(f" Productos en CSV: {len(df)}")
if df.empty:
print("[info] CSV vacio, generando datos.json vacio.")
datos_json = {'generado': datetime.now().strftime('%d/%m/%Y %H:%M'), 'total': 0, 'predicciones': []}
with open(os.path.join(output_dir, 'datos.json'), 'w', encoding='utf-8') as f:
json.dump(datos_json, f, ensure_ascii=False, indent=2)
exit(0)
# Filtrar basura
df = df[~df['producto'].apply(es_basura)].copy()
print(f" Después de filtrar basura: {len(df)}")