C ++ Lire le fichier CSV

C ++ Lire le fichier CSV

Le CSV est la forme courte des valeurs séparées par des virgules, qui sont utilisées pour stocker des données représentées sous forme tabulaire avec l'extension ".CSV ". En cela, chaque valeur séparée par des virgules représente un champ de données ou un enregistrement où chaque ligne indique un seul enregistrement contre un objet. C ++ ne prend pas en charge une bibliothèque intégrée pour lire les fichiers CSV, mais nous pouvons les lire à mesure que d'autres fichiers texte sont lus. Les fichiers CSV sont lus ligne par ligne et chaque valeur d'un enregistrement est séparée par la virgule Delimiter «», tandis que chaque ligne est séparée par le nouveau délimiteur de ligne «/ n». Les fichiers CSV sont principalement utilisés pour transférer des données d'Excel à MySQL. Il permet aux entreprises de transférer un volume élevé de données dans une base de données plus compressée.

Syntaxe

Il n'y a pas de syntaxe prédéfinie pour lire un fichier CSV dans C ++ car ce n'est pas une commande ou une bibliothèque, elle est aussi simple que de lire un fichier texte.

Dans la figure illustrée, chaque ligne représente l'enregistrement d'un employé où chaque valeur séparée par la virgule «» est un champ ou la caractéristique de l'employé. Le nom de fichier affiché en haut de la figure est «Employé.CSV ", où" Employé "est avec l'extension".CSV ".

Exemple # 01:

Dans cet exemple, nous implémenterons un code dans lequel nous créerons d'abord un nouveau fichier, puis lirons ce fichier. Le dossier aura des données d'un employé, y compris le nom de l'employé, du ministère et du salaire de l'employé. Passons maintenant à notre code, après avoir inclus notre fichier d'en-tête iOStream qui est utilisé pour permettre au compilateur d'effectuer des opérations d'entrée-sortie. Incluez ensuite le fstream qui nous permet de travailler avec des fichiers, comme la création de modification, de supprimer, etc., et la troisième bibliothèque que nous avons inclus est une bibliothèque de chaînes qui nous permet de travailler avec les chaînes ou la collection de caractères.

Nous entrons dans notre fonction principale où nous créerons un fichier pour stocker les données des employés. Déclarons d'abord la variable fstream «myfile» que nous utiliserons pour travailler avec le fichier. Dans l'étape suivante, nous avons utilisé MyFile.Ouvrez qui est utilisé pour ouvrir un fichier existant ou pour créer un nouveau fichier dans cette instruction Open (). Nous passerons le nom du fichier et l'argument iOS :: Out qui nous permet d'écrire dans le fichier.

Après avoir ouvert le fichier, nous transmettons les valeurs aux valeurs en utilisant la variable «MyFile». En cela, la variable «MyFile» sera utilisée pour écrire les valeurs données dans le fichier CSV. Nous avons adopté 3 données de l'employé nommant «John Smith», «Rick Adson» et «Victoria William». Contre cela, leur département et leurs salaires sont également adoptés. Après avoir écrit toutes les valeurs dans le fichier, nous fermerons le fichier avec succès en utilisant le mot-clé close ().

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

fstream myfile;
mon fichier.ouvert ("employé.csv ", ios :: out);
mon fichier<<"Name"<<","<<"department"<<","<<"salary"<<"\n";
mon fichier<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
mon fichier<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
mon fichier<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
mon fichier.fermer();

Après avoir créé le fichier CSV, nous allons maintenant évoluer vers notre processus de lecture dans lequel nous avons déclaré deux variables. Le premier sera la variable fstream qui gérera les fonctions d'ouverture et de lecture du fichier et la seconde sera la variable de chaîne qui sera responsable de la maintenance de la valeur qui est analysée à partir du fichier par la variable «MyFile2», les variables de chaîne Dans cet exemple, ce sont des «détails».

Après la déclaration de la variable, nous avons simplement affiché le texte pour le succès de la création de fichiers pour vérifier si le code fonctionne ou non. Maintenant, en utilisant la nouvelle variable fstream «MyFile2», nous ouvrirons le fichier «Employé.CSV "en utilisant une instruction ouverte à laquelle nous avons passé le nom de fichier que nous voulons lire et le mot-clé" ios :: in: "qui est responsable de l'ouverture du fichier comme mode de lecture. Une chose à garder à l'esprit pour la méthode de lecture, vous ne pouvez pas utiliser ou définir la même variable fstream car elle affichera une erreur que la variable existe déjà.

Dans notre prochaine étape, nous avons défini pour une boucle qui s'exécutera quatre fois. Il commencera de l'index zéro à l'indexe trois, ce qui signifie que les quatre lignes seront imprimées. Et chaque valeur sera séparée par la virgule Demiter. Dans la boucle FOR, nous appelons une fonction «getline ()» qui est la bibliothèque intégrée fournie par C ++ pour obtenir les valeurs du fichier ou de la mémoire spécifiée. À la fonction GetLine, nous avons passé deux variables la variable «MyFile2» et la deuxième variable «Détails». La variable MyFile2 lit les valeurs stockées dans le fichier une par une et les transmet à la variable Détails. À l'aide de l'instruction «cout», nous affichons la valeur stockée dans la variable «Détails». À la fin du code, la valeur nul est renvoyée.

fstream myfile2;
Détails de la chaîne;
couter<<"\nCsv File created!";
couter<<"\n\nDisplaying the content of CSV file\n\n";
myfile2.ouvert ("employé.csv ", ios :: in);
pour (int i = 0; i<=2; i++)

getline (myFile2, détails);
couter<
retour 0;

Comme indiqué dans l'extrait ci-dessous, l'employé.Le fichier CSV ”contient 4 lignes. La première ligne est l'étiquette définissant les champs, affichant le nom, le département et le salaire de l'employé. Chaque champ de la ligne est séparé à l'aide d'une virgule où chaque enregistrement est séparé via une nouvelle commande de ligne «/ n».

Découvrons la sortie que nous avons obtenue après avoir exécuté le code de lecture. Dans la capture d'écran ci-dessous, le contenu du fichier «Employé.CSV »est affiché. Toutes les lignes du fichier sont exécutées avec la séparation des valeurs à l'aide de virgule ",".

Conclusion

Dans ce guide, nous avons couvert le sujet de la lecture d'un fichier CSV en C++. Il n'y a pas de fonctionnalité intégrée en C ++ pour lire ou écrire des fichiers CSV, mais nous pouvons utiliser ses bibliothèques Getline, FStream, String pour effectuer des opérations d'écriture ou de lecture sur les fichiers CSV. C ++ prend en charge le travail avec chaque type de système de remplissage ainsi que les fichiers CSV. C'est la meilleure façon de lire une grande quantité de données par simple code que nous avons effectué dans notre exemple.