Python csv

Le module Python CSV est utilisé pour gérer les fichiers CSV. Les fichiers CSV peuvent contenir de nombreuses informations, et le module CSV permet à Python de lire et d’écrire dans des fichiers CSV avec reader()et writer().

Lire, écrire et manipuler des données est une partie essentielle de la programmation. Par conséquent, il peut être utile de savoir comment gérer les fichiers en Python, afin de pouvoir lire et écrire des données à partir de sources externes.

Par exemple, disons que vous êtes le propriétaire d’un magasin de crème glacée local qui souhaite en savoir plus sur les tendances des clients. Vous pouvez utiliser Python pour analyser les données que vous avez recueillies sur les commandes des utilisateurs pour savoir quelles saveurs de crème glacée sont populaires, combien les gens dépensent pour ces saveurs, et plus encore.

C’est là que le Python CSV module entre. Les fichiers CSV sont utilisés pour stocker une grande quantité de données, et le module CSV vous permet d’analyser ces fichiers en Python. Dans ce didacticiel, nous allons explorer comment lire et écrire dans des fichiers CSV à l’aide du module Python CSV.

Refresh CSV

Lorsque vous travaillez avec des données, vous pouvez avoir une liste de ces données séparées par des virgules. Par exemple, vous pouvez avoir une liste de commandes de crème glacée dont les valeurs sont séparées par des virgules. Cette structure de données est appelée données CSV ou valeurs séparées par des virgules.

Les fichiers texte traditionnels peuvent être utiles lorsque vous devez stocker des données, mais ils ne peuvent pas être utilisés pour stocker des données structurées. Les fichiers CSV, en revanche, vous permettent de stocker des données structurées dans un format de tableau que vous pouvez référencer dans votre code, de la même manière que les feuilles de calcul et les bases de données vous permettent de stocker des données structurées. Par exemple, vous pouvez avoir un fichier CSV qui stocke des saveurs de crème glacée ou des informations sur le fournisseur.

Voici un exemple de fichier CSV :

Ce fichier stocke trois éléments : le nom d’un fournisseur, son adresse et le produit avec lequel il approvisionne notre entreprise. Notre fichier stocke également deux lignes de données, l’une pour Hendersons Creamery et l’autre pour Peterson Chocolate.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Parce que nos données sont structurées en un fichier CSV, nous pouvons l’analyser via un programme Python et obtenir des données à partir de colonnes ou de lignes individuelles.

Module Python CSV

Le module Python CSV peut être utilisé pour analyser des données CSV dans Python. Ainsi, si vous avez un fichier CSV d’informations sur les fournisseurs, par exemple, vous pouvez utiliser le module CSV pour récupérer et travailler avec ces données.

CSV est un module Python intégré, mais avant de commencer à l’utiliser, nous devons importer CSV dans notre programme. Nous pouvons le faire en utilisant ce code :

Lecture de fichiers CSV

Avant de pouvoir travailler avec des données dans un fichier CSV, vous devez lire le fichier. Le module CSV est fourni avec une méthode appelée reader() qui peut être utilisée pour lire un fichier CSV dans notre programme. La fonction de lecture prend chaque ligne d’un fichier spécifié et la transforme en une liste de colonnes.

Disons que nous avons une liste de fournisseurs de crème glacée dans un fichier appelé suppliers.csv que nous voulons lire dans notre programme. Le contenu du fichier est le suivant :

Nous pouvons récupérer ces données en utilisant le code suivant :

Il se passe beaucoup de choses ici, alors décomposons-les. Sur la première ligne, nous importons le module csv, qui nous permet d’utiliser des méthodes CSV dans notre code. Sur la ligne suivante, nous utilisons une instruction with pour ouvrir notre fichier et indiquons que notre fichier doit recevoir la valeur f.

Ensuite, nous utilisons contents = csv.reader(f) pour lire le contenu de notre fichier, en utilisant le csv.reader() fonction. Enfin, notre programme crée une boucle for qui parcourt chaque ligne du fichier CSV et l’imprime dans le shell Python.

Notre programme renvoie ce qui suit :

Comme vous pouvez le voir, notre programme a lu le contenu de notre fichier et a transformé chaque ligne en un tableau. Maintenant que nous avons ces données, nous pouvons les manipuler dans notre programme.

Disons que nous envoyons un avis pour annuler nos commandes pour la semaine prochaine car la boutique sera fermée. Nous pourrions utiliser ce code pour obtenir les adresses de chaque fournisseur afin que nous puissions leur envoyer l’avis :

Notre programme renvoie :

Dans notre code, nous créons une boucle for qui passe par chaque ligne de notre contenu variable. Ensuite, nous imprimons la valeur de chaque article avec le numéro d’index 1, qui dans ce cas contient l’adresse de chaque fournisseur.

Maintenant, disons que nous voulons lire les données de notre fichier dans un tableau. C’est une fonction courante car elle nous permet de stocker nos données dans un autre variable pour une utilisation ultérieure. Voici le code que nous pourrions utiliser pour effectuer cette action :

Notre code renvoie les éléments suivants :

Expliquons ce qui se passe en o ton code. Notre programme ouvre le fichier fournisseurs.csv, lit le fichier, puis ajoute chaque enregistrement dans le tableau fournisseurs que nous avons déclaré au début de notre programme. Ensuite, notre programme imprime la variable fournisseurs.

Écriture dans des fichiers CSV

Le module CSV contient une méthode qui peut être utilisée pour écrire des données dans un fichier CSV : writer(). La fonction writer() nous permet d’écrire des données dans le fichier que nous spécifions afin que nous puissions enregistrer nos données pour une utilisation ultérieure.

Le writer() la fonction crée un objet que nous pouvons utiliser pour écrire dans un fichier. Ensuite, afin d’écrire des données dans notre fichier, nous utilisons la méthode writerow().

"Career Karma est entré dans ma vie quand j’en avais le plus besoin et m’a rapidement aidé à correspondre avec un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Disons que nous avons écrit un programme qui ajoute une nouvelle valeur à chaque enregistrement fournisseur. Cette valeur est valable que le fournisseur soit ou non le fournisseur principal d’un certain produit. Voici le code que nous pourrions utiliser pour écrire les données dont nous disposons dans un fichier :

Le début de notre code est très similaire à nos exemples précédents ; il lit le fichier fournisseurs.csv et déplace son contenu dans le tableau fournisseurs. La seule différence est que la fonction read ajoute une nouvelle valeur appelée Yes à chaque élément de notre tableau de fournisseurs. Cette valeur indique si le fournisseur est ou non le fournisseur principal d’un certain produit.

Ensuite, nous ouvrons un nouveau fichier appelé new_suppliers.csv et écrivons le contenu de notre fournisseurs dans ce fichier. Nous utilisons la fonction writer() pour préparer notre fichier à l’écriture.

Ensuite, nous créons une boucle for qui passe par nos fournisseurs et utilise la méthode writerow() pour ajouter chaque fournisseur au fichier new_suppliers.csv.

Notre code renvoie les éléments suivants :

Cependant, il n’est pas nécessaire de parcourir chaque article si nous voulons écrire l’intégralité de nos fournisseurs dans un fichier. Au lieu de cela, nous pouvons utiliser la méthode writerows() pour écrire chaque élément de la variable fournisseurs dans notre fichier new_suppliers.csv.

Voici le code que nous utiliserions :

Notre code renvoie :

Citation de fichier CSV

Dans l’exemple ci-dessus, notre code a écrit le tableau fournisseurs dans un nouveau fichier tel qu’il apparaissait.

Cependant, il peut arriver que vous souhaitiez que chaque valeur soit écrite dans un fichier entre guillemets. Par exemple, vous pouvez avoir une liste de fournisseurs o√π quelques noms de fournisseurs contiennent des virgules, ce qui entraaînerait notre CSV f fichier devient malformé.

Le module CSV contient quatre fonctions de guillemets qui peuvent être utilisées pour entourer les valeurs à écrire dans votre fichier entre guillemets afin que cela ne se produise pas. Ces fonctions sont passées en argument à la méthode csv.writer() et sont les suivantes :

  • csv.QUOTE_ALL : Surround chaque chaaîne entre guillemets
  • csv.QUOTE_NONNUMERIC : Citer tous les champs de chaaîne
  • csv.QUOTE_MINIMAL : Citer les champs avec des caractères spéciaux
  • csv.QUOTE_NONE : Ne citez aucune valeur

Donc, disons que nous voulons citer chaque valeur dans notre fournisseurs lorsqu’il est écrit dans notre fichier. Nous pourrions utiliser le code suivant :

Maintenant, lorsque nous exécutons notre programme, notre fichier new_suppliers.csv contient les éléments suivants :

Conclusion

La lecture et l’écriture de données dans des fichiers vous permettent de récupérer et de stocker les données générées à partir de votre programme Python. Par exemple, si vous avez un menu de saveurs et de prix de crème glacée que vous souhaitez utiliser dans un programme Python, vous souhaiterez peut-être stocker les données dans un fichier.

Dans ce didacticiel, nous avons exploré les bases du module Python CSV et son fonctionnement. Nous avons également discuté de la façon de lire et d’écrire des fichiers à l’aide des objets reader() et writer().

Vous êtes maintenant prêt à lire des données depuis et écrivez des données dans des fichiers CSV en utilisant Python comme un professionnel !

Les entreprises du monde entier embauchent des personnes qui savent coder en Python. Téléchargez l’application gratuite Career Karma aujourd’hui pour en savoir plus sur la façon dont l’apprentissage de Python pourrait vous aider à faire carrière dans la technologie !