CSV ( Comma Separated Values) è un formato di memorizzazione di tabelle in cui i valori delle celle sono separati dal simbolo ",". Al posto di "," si può usare un altro carattere di separazione. Tuttavia, AppMaster richiede una virgola.

È importante assicurarsi che questo carattere non si trovi all'interno della cella. In caso contrario, i dati del file verranno letti in modo errato.

Per prima cosa, creare un modello di dati in cui salvare le informazioni del file CSV. Ad esempio, creiamo un modello di dati per i voli. Esso conterrà i seguenti campi:

DB example

  • flight_no - numero di volo, in formato intero;
  • destinazione in formato stringa;
  • classi - classe di volo disponibile per questo volo, formato array[stringa].

Un esempio di file che verrà importato:

File example

La prima colonna contiene flight_no, la seconda contiene destinatione la terza contiene classes.

Nella terza colonna, i valori sono separati da un punto e virgola.

Creare un processo aziendale

Passare alla scheda Business Logic e fare clic sul pulsante Create Business Process e fare clic sul pulsante .

Creating BP

Questo processo aziendale ha bisogno di un file CSV, quindi aggiungere il campo file al blocco. Start al blocco.

Creating variable

Successivamente, è necessario il blocco Read CSV file.

Allo stesso modo, è possibile utilizzare i blocchi Read XLS file e Read XLSX file per i formati corrispondenti.

Come funziona il blocco Read CSV file:

Ha due connettori di output: Each Row e Completed. Quando il blocco viene attivato, leggerà il file riga per riga e ogni volta attiverà il connettore Each Row e passerà il numero di riga (numero di riga, a partire da 1) e Colonne riga, un array di stringhe di tutte le colonne della riga corrente.

Passare il file dal blocco Start al blocco Read CSV file al blocco:

Read CSV block

Quindi, aggiungere il blocco For Each Loop . Elaborerà l'array di stringhe che invia al Read CSV file blocco.

Per Each Loop, proprio come il blocco Read CSV file, elabora ogni elemento dell'array e attiva il connettore Loop Body per ciascuno di essi.

Il campo di output dell'indice nel blocco For Each Loop è il numero di indice dell'elemento della matrice. Inizia da 0.

Collegare tutti i connettori:

For each loop block

Il blocco successivo è Switch. Con il suo aiuto, determineremo dove scrivere i valori dei diversi campi.

Switch può accettare qualsiasi tipo di input e, a seconda di esso, può attivare diversi connettori di output. Il connettore Default viene attivato se il valore di input non corrisponde a nessuno dei connettori creati.

Il file CSV ha tre colonne, il che significa che ci sono tre valori memorizzati in ogni array Row columns, sempre nello stesso ordine:

  1. numero;
  2. direzione;
  3. classi.

Pertanto, creeremo tre connettori di uscita nei blocchi Switch 0, 1 e 2 e passeremo l'indice dal blocco For Each Loop al blocco Switch al blocco.

switch block

La prima colonna del file contiene il numero di volo. Ma il For Each Loop lo riceve nel formato string formato. Pertanto, lo convertiamo in un numero intero utilizzando il blocco To integer prima di salvare. Dopodiché, lo salviamo in una variabile utilizzando il blocco Set variable .

to integer block

La seconda colonna del file contiene la direzione in formato string formato. Può essere salvata immediatamente in una variabile.

Set variable block

La terza colonna del file contiene un elenco di classi separate da punti e virgola. Il blocco For Each Loop lo ottiene anche in formato stringa. Quindi lo divide in un array di stringhe. Per farlo, si utilizza il blocco Split String . Passiamo una stringa con un elenco di classi e impostiamo ";" come separatore predefinito.

Salvare il valore ricevuto in una variabile.

Split string block

Viene completata la configurazione di un ciclo attraverso tutti i valori delle colonne di ogni riga.

Dobbiamo creare una voce per ogni riga del file. Utilizziamo il connettore di output completato nel blocco For Each Loop e nel blocco Make flight per farlo. Trasferiamo in esso tutte le variabili ricevute durante il ciclo.

completed for each loop connector

Ora salviamo il modello creato in Make flight utilizzando il blocco DB Create flight .

DB create block

Ogni riga viene quindi salvata come record nel database.

Ora dobbiamo terminare l'elaborazione del file. Utilizzeremo il connettore completed nel blocco Read CSV file e lo colleghiamo al blocco End blocco.

completed read csv file

Il BP per importare da un file è terminato.

Endpoint impostazione

Andare alla scheda Endpoints e creare un nuovo endpoint.

Creating endpoint

Selezionare il metodo POST , impostare l'indirizzo URL indirizzo, selezionare il Flight groupe il BP creato Import CSV.

Impostazione di un pulsante sul frontend

Ora dobbiamo impostare un pulsante sul front-end per caricare il file.

Trascinare l'elemento File picker sull'area di disegno.

E impostare il BP per esso:

Utilizzare il metodo onSelectfiles . Questo trigger riceve i file come un array, anche se c'è un solo file. Pertanto, utilizzeremo il blocco Array Element per ottenere un elemento dall'array. Impostiamo il campo indice a 0 per ottenere il primo elemento dell'array.

Ora salviamo il file caricato nel database usando il blocco Server request POST /_files/ .

Server request post file

Espandere il file risultante utilizzando il blocco Expand file .

Expand file block

Passare ora l'ID (che in questo caso è un file) al blocco Server request POST /flight/csv/ al blocco.

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 Corso intensivo

10 Moduli
2 settimane

Non sai da dove cominciare? Inizia con il nostro corso intensivo per principianti ed esplora AppMaster dalla A alla Z.

Inizia il corso
Development it’s so easy with AppMaster!

Serve ancora aiuto?

Risolvi qualsiasi problema con l'aiuto dei nostri esperti. Risparmia tempo e concentrati sulla creazione delle tue applicazioni.

headphones

Contatta il Supporto

Parlaci del tuo problema e ti troveremo una soluzione.

message

Chat comunitaria

Discuti le domande con altri utenti nella nostra chat.

Unisciti alla comunità