fix: no fallar con usuario sin tickets
This commit is contained in:
parent
cea3be083f
commit
2d9ce9f97c
|
|
@ -95,6 +95,14 @@ columnas = ["fecha", "cantidad", "producto", "precio_unitario", "precio_total"]
|
||||||
df = pd.DataFrame(datos, columns=columnas)
|
df = pd.DataFrame(datos, columns=columnas)
|
||||||
df.dropna(subset=["fecha"], inplace=True)
|
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
|
# Guardar detalle completo
|
||||||
df.to_csv(os.path.join(output_dir, "detalle_productos.csv"), index=False)
|
df.to_csv(os.path.join(output_dir, "detalle_productos.csv"), index=False)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,13 @@ except FileNotFoundError:
|
||||||
|
|
||||||
print(f" Productos en CSV: {len(df)}")
|
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
|
# Filtrar basura
|
||||||
df = df[~df['producto'].apply(es_basura)].copy()
|
df = df[~df['producto'].apply(es_basura)].copy()
|
||||||
print(f" Después de filtrar basura: {len(df)}")
|
print(f" Después de filtrar basura: {len(df)}")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue