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:
| Pulsante | Azione |
|---|---|
| Salva | Salva la struttura definita |
| Importa | Importa una struttura esistente |
| Esporta | Esporta 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”