Prima di immergerti in profondità nel nostro argomento, facci sapere dei file CSV. CSV è il valore separato da virgola. Tutti i valori in quel file sono separati usando virgole che indicano che questo tipo di file archivia i dati in una forma tabulare. I file CSV vengono utilizzati per archiviare i dati relativi ad alcuni oggetti. Supponiamo di avere informazioni su un dipendente che includerà nome, stipendio, dipartimento, ecc. Ogni riga indica il numero di record e ogni record è costituito da uno o più campi separati dalle virgole. Le righe sono i record di oggetti in cui ogni record contiene più colonne. Ha un numero uguale di virgole perché è una forma tabulare. I file CSV vengono utilizzati nei file di scambio di dati. Sappiamo che non esiste un metodo o una parola chiave specifica da scrivere in un file CSV. Se vogliamo scrivere in un file CSV, dobbiamo utilizzare i dati I/O del file e la codifica basata sulla logica verrà eseguita per scrivere in un file CSV.
Sintassi
Non esiste una sintassi così specifica per la scrittura in file CSV.
Questo è un campione di come appaiono i file CSV. Tutti i valori in esso sono separati usando le virgole ", e ogni riga indica le caratteristiche di un singolo oggetto. Nel frammento precedente, possiamo vedere che i dati dei dipendenti vengono archiviati e ogni riga contiene i dettagli di un dipendente, in cui ogni colonna indica il numero di caratteristiche.
Esempio # 01
Iniziamo creando un semplice file CSV. La creazione di un file CSV è simile alla creazione di un file di testo. Ad esempio, ottenere dati dall'utente e scriverli nel file usando le virgole ", come delimitatore e"/n "come separatore di righe. In questo esempio, creeremo un file CSV in cui memorizzeremo tre record di studenti con attributi "nome", "id", "classe" e "nome universitario". Questi record sono prelevati dall'utente come input. Diamo ora un'occhiata al nostro codice, che è mostrato nella figura seguente.
Dopo aver incluso i nostri file di intestazione, iostream, fstream e stringa, ci immergiamo nella nostra funzione principale, in cui il nostro intero processo è finito. Il FStream è il file di intestazione utilizzato per eseguire operazioni di input/output associate al file system. All'interno della funzione principale, dichiariamo una variabile interi, "std_id", che sarà responsabile della detenzione del numero di rollio dello studente che sarebbe un valore intero. E poi, abbiamo dichiarato il "nome" di 3 stringa come il nome della variabile riflette il valore che conterrà è il nome dello studente. Il secondo è il "college" che terrà il nome dell'istituto, in cui la terza variabile, "std_class", è responsabile di tenere la classe dello studente.
Dopo aver dichiarato tutte le nostre variabili, abbiamo dichiarato "fout" usando fstream, che è il tipo di dati che indica il flusso di file e ci consente di eseguire operazioni di lettura, scrivere e aggiornare i file. Ora, utilizzando la variabile del flusso di file "fout", apriremo il file denominato "std_details.CSV ”File usando l'istruzione aperta () a cui abbiamo superato il nome del file con la parola chiave“ ios :: out ”che viene utilizzato per aprire il file a fini di scrittura. Dato che dobbiamo ottenere valori dall'utente come input, chiederemo all'utente di inserire i valori memorizzati in un file usando FOUT. Abbiamo scritto per la prima volta la prima riga, che ci dirà cosa viene archiviato nel file CSV, quindi abbiamo chiesto all'utente di utilizzare un'istruzione Cout per inserire i valori. Ora, abbiamo dichiarato per un ciclo di dimensione 3, il che significa che l'utente deve inserire il record di tre studenti. Passo-passo, otterremo tutti i valori dall'utente per archiviare in una riga e ogni valore viene separato usando la virgola delimitante "",.
Per ottenere i valori dall'utente, abbiamo usato l'istruzione getline (), passando due argomenti. Il primo è "CIN", che dice al compilatore di prendere il valore inserito dall'utente come input e quindi archiviarlo nella variabile che viene passata come secondo argomento. Dopo aver cancellato il buffer usando la CIN.Ignore () Dichiarazione, abbiamo semplicemente visualizzato il record inserito una volta, quindi il puntatore è uscito dal loop. Il ciclo riceverà i valori e li stampata fino al completamento delle iterazioni.
Usando "Fout", abbiamo visualizzato i record che l'utente ha inserito e ogni record è separato usando una virgola ",". Uscire dal ciclo, chiuderemo il file usando il fout.Close () Dichiarazione.
Ora procedi verso il nostro prossimo passo in cui creiamo un'altra variabile FStream, "Fin", che useremo per visualizzare i dati del file che è stato creato. Quindi, dichiariamo una variabile di stringa che memorizzerà i dati analizzati dal file CSV. Successivamente, utilizzando la nuova variabile FStream "Fin", apriremo il file "std_details.CSV "usando un'istruzione aperta a cui questa volta abbiamo superato il nome del file che viene creato e la parola chiave" ios :: in: "che è responsabile dell'apertura del file come modalità di lettura.
Successivamente, abbiamo nuovamente dichiarato per loop per ottenere il record dello studente dal file che eseguirà tre volte. All'interno del ciclo per, abbiamo usato l'istruzione getline (), a cui vengono approvate due argomenti. Il primo è la "pinna", e il secondo è "dati", la "pinne" leggerà il record uno per uno e poi lo passerà alla variabile "dati". Usando l'istruzione "COUT", abbiamo visualizzato i record uno per uno e alla fine abbiamo posizionato "\ n", che romperà la linea mentre l'unica riga è completata.
Diamo un'occhiata al file CSV creato, come mostrato nel seguente file CSV che è stato automaticamente visualizzato come output quando è stato compilato l'intero codice. Abbiamo creato un file con i record di tre studenti. Ogni record è separato usando la virgola e ogni riga è divisa man mano che il record è completato.
Come mostrato nella figura seguente è l'output del nostro codice che visualizza i dati uno per uno che abbiamo inserito e alla fine, è stato visualizzato sotto forma di un file CSV.
Conclusione
Questo articolo ha discusso brevemente di scrivere in un file CSV e come possiamo creare un file CSV in C++. C ++ non fornisce alcuna libreria integrata per scrivere in file CSV, mentre possiamo scrivere lo stesso del file di testo. I file sono scritti riga per riga e separati usando le virgole. I file CSV possono anche essere scritti tramite puntatori. È possibile scrivere in un file CSV con qualsiasi metodo, sia come un file di testo o utilizzando i puntatori. Speriamo che questo articolo ti sarà utile per avere un'idea migliore di come archiviare i dati in forma tabulare.