Nel corso di questo articolo, impareremo come leggere e scrivere su un file CSV usando il linguaggio di programmazione Go.
Codifica Golang/CSV
Per gestire i file CSV nella programmazione GO, useremo il pacchetto di codifica/CSV. Viene ricco di funzioni per la lettura e la scrittura di file CSV. Tieni presente che una nuova riga rappresenta un singolo record in un file CSV. Ogni riga può avere uno o più campi che ignorano i caratteri di spazi bianchi.
Per utilizzare il pacchetto, possiamo importarlo come:
Importa "codifica/CSV"Ora possiamo procedere e imparare a lavorare con i file CSV in GO.
Golang leggi CSV - riga per riga
Per leggere un file CSV utilizzando il pacchetto codifica/CSV, utilizziamo il metodo read (). Supponiamo che abbiamo un file chiamato:
user_info.CSVIl file contiene informazioni sugli utenti come mostrato nell'istantanea di esempio di seguito:
Id, firstname, lastname, email, email2, professioneConsidera il seguente codice di esempio:
Pacchetto principaleAbbattiamo il codice precedente per capire meglio come funziona.
Iniziamo importando i pacchetti richiesti: codifica/CSV, FMT, IO, log e OS. Il pacchetto FMT ci consente di eseguire operazioni I/O. Il pacchetto di registro viene utilizzato per registrare eventuali errori che possono verificarsi nel programma.
D'altra parte, il metodo del pacchetto IO viene utilizzato per specificare l'IO.Interfaccia del lettore. Usiamo l'errore EOF per determinare la fine di un flusso di dati.
Infine, abbiamo il pacchetto del sistema operativo. Nel nostro esempio, utilizziamo questo pacchetto per leggere il file CSV.
Nella funzione principale, iniziamo aprendo il file CSV per la lettura usando il sistema operativo.Metodo aperto (). Quindi creiamo un nuovo lettore usando il CSV.Metodo newReader (). Questo metodo prende un IO.Tipo di lettore.
Il passo successivo prevede l'utilizzo di un ciclo per leggere ogni record dal file CSV. Quindi, controlliamo se si verifica un errore. Se c'è qualche errore, incluso un EOF, rompe il ciclo e regisiamo l'errore.
L'ultimo passo è quello di iterare su ogni record del file CSV e restituire i valori.
Il codice precedente dovrebbe restituire un output di esempio come mostrato di seguito:
idSe si desidera leggere il CSV tutto in una volta, usa il metodo Readall () invece di read ().
CSV con delimitatore personalizzato
A volte, potresti imbatterti in un file CSV che non utilizza virgole come delimitatore. Sebbene seguendo il formato di un file CSV, i file con delimitatori personalizzati possono rappresentare una sfida durante l'analisi.
Tuttavia, possiamo specificare la virgola e il commento nella programmazione GO. Prendi il seguente esempio del file CSV:
id; firstname; lastname; email; email; professioneSebbene il file segua un formato simile a un file CSV, utilizza i semi-colons come delimitatori anziché una virgola.
Per analizzare il file precedente in GO, possiamo eseguire il codice come mostrato di seguito:
Pacchetto principaleIl codice precedente specifica un delimitatore personalizzato utilizzando il lettore.Virgola.
Se si desidera rimuovere gli spazi principali, è possibile impostare il valore:
lettore. Trimleadingspace = trueGolang CSV Scrivi
Per scrivere un record CSV nel file, utilizziamo la funzione di scrittura. Il record è una fetta di valori di stringa, con ogni stringa che rappresenta un singolo campo.
Nota: poiché questi sono bufferiti, è necessario chiamare il filo per assicurarti che scriva il record allo scrittore originale.
Considera l'esempio seguente:
Pacchetto principaleIl codice precedente crea i file CSV specificati e aggiunge i record al file.
Se non si desidera chiamare manualmente il filo, è possibile utilizzare il metodo WriteALL (). Chiama automaticamente il metodo a filo.
Conclusione
Questa guida esplora come lavorare con i file CSV utilizzando il pacchetto GO di codifica/CSV. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per imparare altri suggerimenti.