> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/input-output/outputs-exports/csv-export.md).

# CSV Export

Esta función recopila columnas de datos entrantes a lo largo del tiempo y las guarda en un archivo CSV cuando se solicita. Úsala para crear registros simples de datos (mediciones, contadores, etiquetas) y exportarlos para análisis o archivo.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

* `Folder Path` Carpeta donde se guardará el archivo CSV (usa la carpeta actual si no se especifica)
* `File Name` Nombre de archivo para el CSV exportado (por defecto incluye una marca de tiempo si no se indica)
* `Start Logging` Disparador booleano para comenzar a añadir los datos entrantes al búfer de registro interno
* `Export File` Disparador booleano para escribir los datos acumulados en el archivo CSV
* `Data_1` ... `Data_10` Columnas de datos genéricas que se almacenarán (solo se registran las columnas que estén conectadas)

## 📤 Salidas <a href="#outputs" id="outputs"></a>

* Este bloque de función no produce salidas.

## 🕹️ Controles <a href="#controls" id="controls"></a>

* `Header fields` Diez campos de texto donde puedes poner nombres de columna legibles para las entradas correspondientes `Data_1` ... `Data_10`. Deja en blanco para usar las etiquetas por defecto `Data_n`.
* `Start Logging` entrada Usada para habilitar el registro de valores entrantes en el búfer interno.
* `Export File` entrada Usada para volcar las filas en búfer a un archivo CSV en disco.

## 🎯 Características <a href="#features" id="features"></a>

* Marca de tiempo automática por fila (la hora se añade como la primera columna).
* Columnas flexibles: solo se incluyen en el CSV las entradas `Data_n` que estén conectadas.
* Gestión de encabezados: si cambias los campos de encabezado, la fila de encabezado del CSV existente se actualiza automáticamente (si el archivo ya existe).
* Registro en búfer: las filas se almacenan internamente mientras `Start Logging` está activo y solo se escriben cuando se dispara `Export File`.
* Escritura segura: se muestran advertencias y errores en la interfaz si el archivo está abierto en otro programa o la escritura falla.

## 📝 Cómo usar <a href="#usage" id="usage"></a>

1. Define el destino usando las entradas `Folder Path` y `File Name` (opcional).
2. Escribe nombres de columna legibles en los `Header fields` para cualquier conector `Data_n` que vayas a usar.
3. Conecta las fuentes de datos a las entradas correspondientes `Data_1` ... `Data_10` (usa solo las que necesites).
4. Controla `Start Logging` con una señal booleana (por ejemplo con un bloque `Logic Input`) para comenzar a acumular filas.
5. Cuando quieras guardar, activa la entrada `Export File` para escribir las filas en disco. El bloque añadirá o actualizará el encabezado CSV automáticamente.

## 📊 Comportamiento <a href="#evaluation" id="evaluation"></a>

* Mientras `Start Logging` esté activo, el bloque captura la marca de tiempo actual y los valores de todos los conectores de datos conectados en una lista interna.
* Cuando `Export File` se vuelve verdadero, el bloque escribe las filas acumuladas en el archivo CSV en `Folder Path` + `File Name`. Tras una exportación exitosa, el búfer interno se borra.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Usa bloques `Date-Time` o `Date-Time List` para crear nombres de archivo significativos o para añadir columnas adicionales relacionadas con la hora, además de la marca de tiempo automática.
* Usa `Logic Input` para controlar manualmente `Start Logging` y `Export File` desde la interfaz.
* Al registrar mediciones numéricas, emplea `Number Input` o bloques matemáticos (como `Add`, `Subtract`) antes de conectar a las entradas `Data_n` para preparar los valores.
* Para etiquetas o identificadores de texto, usa `String Input` o `String Merge` para combinar campos antes de enviarlos a una entrada `Data_n`.
* Para exportar metadatos relacionados con imágenes (por ejemplo, número de fotogramas, recuentos de detección), conecta bloques de análisis relevantes como `Object Detection`, `Mask Detection` o `Find Object` a las entradas genéricas `Data_n`.
* Si quieres guardar imágenes junto con los registros numéricos, usa `Image Logger` o `Image Write` en paralelo y reserva el CSV para metadatos numéricos/textuales.
* Utiliza `CSV Export` junto con `Scope` para visualizar flujos numéricos y luego guardar los datos una vez verificados los eventos de interés.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* Archivo no guardado / error de permisos: asegúrate de que el archivo CSV no esté abierto en otro programa y de tener permiso de escritura en la carpeta seleccionada. Ejecuta la aplicación con privilegios suficientes si es necesario.
* No se exportan datos: verifica que hayas activado `Start Logging` al menos una vez para que el búfer interno contenga filas antes de disparar `Export File`. El bloque avisará si no hay datos almacenados cuando se solicita la exportación.
* Columnas incorrectas en el CSV: confirma qué conectores `Data_n` están conectados y ajusta los campos de texto en `Header fields`. El bloque solo incluye las entradas conectadas y actualiza el encabezado cuando cambias el texto del encabezado.
