Skip to main content

CSV to Table

CSV to Table | Sybot Documentation

CSV TO TABLE

  • Type Task: csv-to-table

Il Task CSV to Table è progettato per importare dati da un file in formato CSV (Comma-Separated Values) e inserirli in una tabella di un database. La sua funzione è duplice: si connette a un database per scrivere fisicamente i dati e, allo stesso tempo, espone i dati importati come un Dataset per l'utilizzo da parte di Task successivi nel Workflow (come un Iterator).

Configurazione

La configurazione è suddivisa in due schede principali: Connection per i dettagli del database e File CSV per le specifiche del file di origine.

1. Tab "Connessione"

Questa sezione è identica a quella di altri Task di scrittura su database e definisce come connettersi alla destinazione.

  • Connection Mode: Seleziona l'origine delle credenziali:
  • Manual: Inserisci manualmente tutti i dati della connessione.
  • Environment: Seleziona un ambiente di connessione preconfigurato per compilare automaticamente i campi.
  • Database Type: Seleziona il tipo di database (es. PostgreSQL, SQL Server, etc.).
  • SSL Connection: Specifica se usare una connessione sicura (SSL).
  • Authentication: Inserisci i dettagli per l'accesso:
  • Host: L'indirizzo del server del database.
  • Port: La porta di comunicazione.
  • DB Name: Il nome del database.
  • User: Il nome utente.
  • Password: La password associata.

2. Tab "File CSV"

Questa scheda è il cuore del Task e definisce come il file CSV deve essere letto e mappato.

  • CSV Structure:
  • Field Definition: Cliccando questo pulsante si apre la finestra "Struttura CSV - CSV to Table". Qui si definisce la struttura della tabella di destinazione, mappando ogni colonna del CSV. Per ogni campo (+ Add Field) si specificano:
  • Name: Il nome della colonna nel database.
  • Type: Il tipo di dato (String, Numeric, etc.).
  • Size: La dimensione del campo.
  • Format: Un formato specifico per dati come le date.
  • Not Null: Se il campo non può contenere valori nulli.
  • Intestazione CSV: Specifica se la prima riga del file CSV è un'intestazione.
  • Yes: La prima riga contiene i nomi delle colonne e non verrà importata come dato.
  • No: Il file non ha una riga di intestazione; tutti i dati vengono importati.
  • Encoding: La codifica dei caratteri del file (es. UTF-8, ISO-8859-1).
  • Separator: Il carattere usato nel file CSV per separare i valori (es. ,, ;, |, =).
  • String Quoting Character: Il carattere usato per racchiudere i campi di testo, specialmente quelli che contengono il separatore (es. ").
  • Import Type: Il metodo di importazione del file.
  • Local CSV: Carica un file dal tuo computer tramite il pulsante "Scegli file".
  • Web CSV: Importa un file da un URL web.
  • Remote CSV: Importa un file da un percorso di rete remoto.
  • Target Table: L'azione da eseguire sul database.
  • Existing Table: Inserisce i dati in una tabella già esistente.
  • New Table: Crea una nuova tabella per i dati importati.
  • Target Table Name: Il nome della tabella di destinazione. Può essere un valore statico o dinamico (es. #>nome_tabella<#).
  • Loading Mode: Come inserire i dati in una Existing Table.
  • Append: Aggiunge i nuovi dati a quelli già presenti.
  • Truncate Insert: Svuota completamente la tabella prima di inserire i nuovi dati.

Gestione Table Structure - Struttura CSV

In basso a destra nella modale Struttura CSV (CSV structure) sono presenti tre pulsanti:

PulsanteAzione
SalvaSalva la struttura definita
ImportaImporta una struttura esistente
EsportaEsporta la struttura definita

Questa funzionalità permette di salvare, esportare o riutilizzare le mappature, evitando la compilazione manuale dei campi e riducendo il rischio di errori.

Nota Tecnica

  • Visibilità: Le strutture salvate nel sistema sono visibili esclusivamente all'utente che le ha create.
  • Approfondimento: Per una descrizione dettagliata di tutte le opzioni e della logica di funzionamento, fare riferimento alla pagina Table Structure.

Parametri di Output

Una volta completata l'importazione, il Task espone i seguenti parametri:

  • targetTable: Restituisce il nome della tabella del database in cui i dati sono stati inseriti.
  • sourceFilename: Restituisce il nome del file CSV di origine che è stato elaborato.
  • sourcePath: Restituisce il percorso completo del file CSV di origine.
  • count: Indica il numero totale di righe che sono state importate dal file CSV.
  • result: Fornisce lo stato complessivo dell'esecuzione del Task (es. "Success" o un messaggio di errore).
  • resultJson: Rappresenta il risultato dell’esecuzione del task in formato JSON, includendo informazioni generali, configurazioni e dettagli sull’esecuzione.
  • DataExportCsv: Restituisce l'intero set di dati elaborato, formattato come testo in formato CSV.
  • DataExportJson: Restituisce l'intero set di dati elaborato, formattato come una stringa JSON.
  • Dataset: Questo parametro rappresenta il nome della colonna della tabella (Per es: name). È il parametro più importante per collegare questo Task ad un Iterator. Per accedere ai valori di una specifica colonna durante un'iterazione, si utilizza la sintassi Dataset.NomeColonna.
  • DataColumn: Questo parametro permette di accedere all'intero contenuto di una colonna come un'unica entità (ad esempio, un array o una lista).
  • DataColumn.NomeColonna: Restituisce tutti i valori della colonna “NomeColonna”. Per es: “Luca, Maria, Giovanni, Elena”