Ir al contenido

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.

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…). Con hasHeader = false, las columnas se llaman Column1, 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ámetroTipoPor defectoDescripción
pathstring—Ruta del archivo CSV.
ParámetroTipoPor defectoDescripción
delimiterstring","Separador de campos. Solo se usa el primer carácter: ",", ";", "|"… Para tabulador, ((char)9).ToString().
hasHeaderbooltrueLa primera fila son los nombres de columna.
encodingstring"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.
MensajeCausa 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.
Read CSV path = asset("clientes.csv") delimiter = ";" → output: clientes
Log message = "Clientes leídos: " + rowCount(clientes)
For Each items = clientes itemVariable = fila
└─ activities:
Log message = str(fila["Nombre"]) + " — " + str(fila["Correo"])