🇬🇧 EN
🇮🇹 IT

📄 CSV / Excel

Analizza file CSV e XLSX trasformandoli in dati strutturati, oppure genera file CSV/XLSX a partire da dati. Indipendente dalla sorgente — funziona con il contenuto di file proveniente da qualsiasi blocco a monte (Google Drive, Dropbox, HTTP, ecc.).

Categoria: File  ·  Identificatore tipo: spreadsheet_file

Panoramica

Il nodo CSV / Excel opera in due modalità. In modalità parse legge il contenuto grezzo del file — passato da qualsiasi nodo a monte in grado di recuperare un file — e lo converte in un array strutturato di righe su cui i nodi successivi possono iterare o effettuare ispezioni. In modalità generate accetta un array bidimensionale di valori e produce un file scaricabile in formato CSV o XLSX.

Il rilevamento del formato è automatico per impostazione predefinita: il nodo ispeziona i magic byte del file per distinguere CSV da XLSX senza affidarsi al nome o all'estensione del file. Quando si legge una cartella di lavoro XLSX è possibile selezionare un foglio specifico per nome; se non viene specificato alcun foglio viene utilizzato il primo. Il rilevamento delle intestazioni è configurabile — quando abilitato, la prima riga viene trattata come nomi di colonna e ogni riga successiva viene restituita come oggetto con chiavi; quando disabilitato, tutte le righe (inclusa la prima) vengono restituite come array semplici e le colonne sono etichettate A, B, C, ecc.

L'output CSV generato è testo UTF-8 semplice e può essere passato direttamente a un nodo di archiviazione file come Google Drive o Amazon S3. L'output XLSX generato è binario codificato in base64 e deve essere decodificato dal nodo di archiviazione ricevente prima della scrittura.

Design indipendente dalla sorgente: Il nodo opera sul contenuto del file, non su percorsi di file o API del provider. Recupera il contenuto prima con un nodo Google Drive, Dropbox, Amazon S3 o HTTP Request, poi passa l'output in questo nodo. Ciò significa che qualsiasi sorgente di file supportata da Flusso funziona ugualmente bene.

Configurazione

CampoStatoDescrizione
Action Obbligatorio parse — legge il contenuto del file e restituisce le righe.
generate — costruisce un file da un array bidimensionale di valori.
Content Obbligatorio per parse Contenuto grezzo del file proveniente da un nodo a monte. Usa {{ step_key.output.content }} per riferire un file scaricato da un nodo Google Drive, Dropbox, HTTP Request o Amazon S3.
Format Opzionale auto — rileva il formato dai magic byte (predefinito).
csv — tratta il contenuto come testo delimitato da virgole.
xlsx — tratta il contenuto come una cartella di lavoro Excel.
Sheet Opzionale Solo XLSX. Nome della scheda del foglio da leggere. Predefinito: il primo foglio se lasciato vuoto. Ignorato quando il formato è csv.
Has Headers Opzionale Quando abilitato (predefinito: true), la prima riga viene interpretata come intestazioni di colonna e ogni riga di dati viene restituita come oggetto con chiavi. Quando disabilitato, tutte le righe vengono restituite come array semplici e le colonne sono identificate come A, B, C, ecc.
Rows Obbligatorio per generate Un array JSON bidimensionale di valori da scrivere nel file. Il primo array interno dovrebbe essere la riga di intestazione quando applicabile. Esempio: [["Name","Age"],["Alice","30"],["Bob","25"]]. Supporta espressioni {{ variable }}.

Dati di Output

I campi di output dipendono dall'azione selezionata.

CampoTipoDescrizione
okbooleantrue quando il nodo è completato con successo.
rowsarraySolo modalità parse. Array di oggetti riga (quando Has Headers è abilitato) o array (quando disabilitato). Ogni elemento rappresenta una riga di dati.
row_countnumberSolo modalità parse. Numero di righe di dati restituite, esclusa la riga di intestazione.
columnsarraySolo modalità parse. Array di nomi di colonna ricavati dalla riga di intestazione, oppure ["A","B","C",…] quando Has Headers è disabilitato.
contentstringSolo modalità generate. Il contenuto del file prodotto: testo UTF-8 semplice per CSV, binario codificato in base64 per XLSX.
formatstringIl formato effettivamente utilizzato: csv o xlsx. Utile quando Format è impostato su auto.
{{ step_key.output.rows }} {{ step_key.output.row_count }} {{ step_key.output.columns }} {{ step_key.output.content }} {{ step_key.output.format }}

Esempi di Utilizzo

Importare CSV da Google Drive

  1. Un nodo Google Drive scarica il file usando il suo ID file. Il contenuto grezzo è disponibile in {{ google_drive_step.output.content }}.
  2. Un nodo CSV / Excel con Action: parse e Format: auto converte il contenuto in un array di oggetti riga.
  3. Un nodo Loop itera su {{ spreadsheet_step.output.rows }}, elaborando ogni record individualmente nel corpo del loop.

Esportare dati in XLSX su Google Drive

  1. Un nodo precedente produce un elenco di record memorizzati nel contesto del workflow.
  2. Un nodo CSV / Excel con Action: generate e Format: xlsx converte i record in un file XLSX codificato in base64.
  3. Un nodo Google Drive carica il file usando il valore {{ spreadsheet_step.output.content }}, scrivendolo nella cartella di destinazione.

Analizzare un CSV recuperato via HTTP

  1. Un nodo HTTP Request recupera un report CSV da un URL remoto. Il corpo della risposta è il testo CSV grezzo.
  2. Un nodo CSV / Excel con Action: parse e Format: csv analizza il corpo della risposta in righe, con Has Headers: true in modo che ogni riga sia un oggetto con chiavi.
  3. Un nodo Filter o Transform elabora le righe strutturate prima che i risultati vengano memorizzati o inoltrati.

Suggerimenti e Note

Nodi Correlati