Read CSV
Read CSV
Sección titulada «Read CSV»Tipo: read-csv · Paquete: CSV Activities v1.0.5 · Salida: DataTable
Lee un archivo CSV y devuelve su contenido como una DataTable, lista para recorrer, filtrar o volcar a otra fuente.
Cómo funciona
Sección titulada «Cómo funciona»Lee el archivo de path usando el delimiter indicado. Por defecto toma la primera fila como encabezados (hasHeader = true), de modo que accedes a las celdas por nombre.
- Columnas: con
hasHeader = true, sus nombres salen de la primera línea no vacía (sin espacios al inicio ni al final); una celda de encabezado vacía recibe un nombre automático (Column1,Column2…). ConhasHeader = false, las columnas se llamanColumn1,Column2… y la primera línea es un dato más. - Número de columnas: lo fija la primera línea. Si una fila trae más campos, los sobrantes se descartan; si trae menos, las celdas que faltan quedan vacías (
DBNull). - Valores: todos son texto, sin las comillas que los rodean. Los espacios alrededor de un valor se conservan.
- Líneas en blanco: se ignoran.
- Una línea por registro: un campo entre comillas que contiene saltos de línea parte el registro; si tu archivo los trae, ábrelo antes con Excel.
- Todo en memoria: carga el archivo completo. Solo lee; no modifica el archivo.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
path | string | — | Ruta del archivo CSV. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
delimiter | string | "," | Separador de campos. Solo se usa el primer carácter: ",", ";", "|"… Para tabulador, ((char)9).ToString(). |
hasHeader | bool | true | La primera fila son los nombres de columna. |
encoding | string | "utf-8" | Codificación del archivo: utf-8, iso-8859-1, utf-16… Si el archivo tiene marca BOM, esta manda. Ver codificación. |
Devuelve una DataTable:
- Columnas: de tipo texto, con los nombres del encabezado (o
Column1,Column2… sin encabezado). - Filas: una por línea de datos. Lee cada celda con
str(fila["Nombre"]), que convierte las vacías en"". - Archivo vacío (o solo líneas en blanco): una DataTable sin columnas ni filas. Compruébalo con
rowCount(tabla) == 0.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
No se encontró el archivo. | path no existe. Compruébalo con File Exists. |
A column named '…' already belongs to this DataTable. | Dos columnas del encabezado tienen el mismo nombre. Corrige el archivo, o lee con hasHeader = false y usa Column1, Column2… |
Index was outside the bounds of the array. | delimiter está vacío. Indica un carácter. |
The process cannot access the file '…' because it is being used by another process. | El archivo está abierto en otro programa (por ejemplo Excel). Ciérralo antes. |
'path' es obligatorio. | La expresión de path dio nulo. |
Ejemplo
Sección titulada «Ejemplo»Read CSV path = asset("clientes.csv") delimiter = ";" → output: clientesLog message = "Clientes leídos: " + rowCount(clientes)For Each items = clientes itemVariable = fila └─ activities: Log message = str(fila["Nombre"]) + " — " + str(fila["Correo"])