JavaScript, HTML, CSS e... !
8 commenti

Da URL, da Google Drive e da Gmail

Importazione CSV nei Fogli di Google con Apps Script

Ti sarà già capitato di importare un file CSV in Excel o nei Fogli Google. Con Google Apps Script puoi farlo in modo automatico con pochissime righe di codice:

Un CSV è un file con valori separati da virgola o da punto e virgola. Si tratta di un file con dati tabulari sottoforma di testo e, appunto, la virgola o il punto virgola identifica il separatore di ciascuna cella.

La lettura di un file CSV è piuttosto semplice:

- ogni linea corrisponde a una riga della tabella;
- ogni virgola (o punto e virgola) corrisponde a una separazione tra le colonne.

Il formato CSV consente il trasferimento di dati da un programma a un altro. Questi file possono essere importati in un Excel o, come nel nostro caso, in un Foglio di Google.

Possiamo importarli in 3 diverse situazioni: da un link esterno, da Google Drive o da un allegato in Gmail. Nel  video ti mostro tutte e 3 queste possibilità, ottenendo il risultato con 3 semplici funzioni.

Ricordati di iscriverti al mio CANALE per rimanere aggiornato sull'uscita dei prossimi video!

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

8 Commenti

  1. martedì 4 ottobre 2022 alle ore 13.10 Massi

    Bellissima guida, e soprattutto ben spiegata.
    Ma come mai se imposto il delimitatore mi restituisce questo errore?
    Exception: Could not parse text.
    importCsvFromGoogleDrive @ Codice.gs.4

    Rispondi a questo commento
    • martedì 4 ottobre 2022 alle ore 13.30 Michele PisaniAutore

      Ciao Massi, grazie del feedback :) quell'errore può verificarsi per molte ragioni diverse, in questi casi è necessario andare a tentativi per capire il motivo per il quale il csv non viene gestito correttamente, ad esempio se ci sono virgolette o virgole o punti e virgola che possono invalidare l'importazione. Inizierei con un file ridotto al minimo e aggiungerei campi e e righe fino a trovare cosa genera l'anomalia nel tuo specifico caso.

      Rispondi a questo commento
  2. martedì 4 ottobre 2022 alle ore 13.46 Massi

    Grazie del suggerimento e della velocità, ho provato e ho scoperto che delle righe hanno le virgolette. Considerando che il mio delimitatore è ";" come posso dirgli ad AppScript di importare tralasciando l'errore delle virgolette?

    Grazie mille

    Rispondi a questo commento
    • martedì 4 ottobre 2022 alle ore 13.54 Michele PisaniAutore

      Potresti provare a rimuoverle o applicare un escape, con questi input e alcune ricerche sono certo che riuscirai a risolvere :)

      Rispondi a questo commento
      • martedì 4 ottobre 2022 alle ore 13.59 Massi

        Grazie! Mi informerò qui sul Vostro sito.
        Un ultima domanda, se volessi saltare una colonna, esempio la 2 colonna voglio che no la importi, come posso fare tramite lo script?

      • martedì 4 ottobre 2022 alle ore 14.33 Michele PisaniAutore

        Per quanto riguarda le ricerche estenderei a Google quando si tratta di questioni generali JavaScript, essendo Apps Script basato su quel linguaggio di scripting.
        Per l'altra domanda, il metodo parseCSV non lo prevede per cui è necessario o non esportarlo inizialmente (che è la migliore soluzione) o gestirlo a posteriori.

  3. venerdì 21 ottobre 2022 alle ore 16.16 Igor Zardoni

    Ottimo video, molto chiaro e semplice.
    Vorrei però fare un salto in avanti, se possibile.
    Nel mio caso specifico, devo scaricare più csv da diversi url e caricarne i dati in un unico foglio di google sheet.

    Grazie mille in anticipo e complimenti ancora.

    Rispondi a questo commento
    • venerdì 21 ottobre 2022 alle ore 17.00 Michele PisaniAutore

      Ciao Igor,
      se la tua domanda è volta a capire la fattibilità di ciò che hai descritto, la risposta è sì, è fattibile. Si tratta di modificare il codice del video per fare in modo che legga da URL diversi e scriva ciascun risultato in Fogli diversi. Il concetto dietro all'importazione da CSV rimane quindi il medesimo sia che si tratti di un file solo che di più file. È come se avessi 5 funzioni diverse, una per URL oppure eseguite tutte in un'unica volta dentro una sola funzione. Ovviamente serve definire una logica nella scrittura del codice e recupero informazioni per rendere il tutto funzionante con un click.

      Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web