Comment lire, écrire et analyser CSV à Python

Comment lire, écrire et analyser CSV à Python

Avez-vous déjà eu besoin d'échanger des informations entre les programmes, sauf en utilisant les variables? Avez-vous déjà pensé ou ressenti le besoin d'avoir un fichier texte pour échanger des données entre les programmes? Connaissez-vous l'idée de stocker des données / informations dans un fichier externe et de l'extraire plus tard en cas de besoin? Oui, nous pouvons stocker et transférer des données entre les programmes à l'aide du format de fichier appelé CSV.

Qu'est-ce qu'un fichier CSV?

Un fichier CSV est un type de fichier utilisé pour stocker des données dans un formulaire tabulaire structuré (ligne / colonne). C'est un fichier texte brut et comme son nom l'indique, il stocke des valeurs séparées par une virgule.

Dans cet article, nous aurons une discussion détaillée sur la lecture, l'écriture et l'analyse d'un fichier CSV à Python.

Origine du fichier CSV

Le concept d'avoir un fichier CSV est venu de la nécessité d'exporter de grandes quantités de données d'un endroit à un autre (programmes). Par exemple, l'importation de grandes données de feuille de calcul et l'exportant vers une base de données. De même, nous pouvons exporter de grandes quantités de données vers les programmes.

Différents langages utilisent différents formats pour stocker des données, de sorte que lorsque les programmeurs doivent exporter des données d'un programme à un autre, ils ont ressenti le besoin d'avoir une sorte de type de fichier universel en utilisant lequel nous pouvons transférer de grandes quantités de données; Un type de fichier que n'importe quel programme peut lire et analyser dans son propre format.

Comprendre la structure d'un fichier CSV

La structure du fichier CSV ressemblera à ceci:

Colonne 1, colonne 2, colonne 3 Valeur 1, valeur 2, valeur 3…,…,… 

Tout comme nous avons des colonnes et des lignes dans la base de données:

Ou dans les données de feuille de calcul tabulaires:

De même, un fichier CSV est un type de fichier texte simple dans lequel les données sont stockées sous la forme de pièces séparées par une virgule:

Chaque colonne est séparée par une virgule, et chaque ligne est sur une nouvelle ligne.

Très bien, après avoir compris le concept de base, l'origine et la structure du fichier CSV, apprenons à lire, écrire et analyser CSV dans Python.

Lire un fichier CSV dans Python

Pour l'analyse des fichiers CSV, heureusement, nous avons une bibliothèque CSV intégrée fournie par Python. La bibliothèque CSV est vraiment facile à utiliser et peut être utilisée pour la lecture et l'écriture dans un fichier CSV. Commençons par lire un fichier CSV.

Pour lire un fichier CSV, l'objet lecteur sera utilisé. Commençons à écrire le code pour lire le fichier CSV et le comprendre dans une procédure étape par étape:

Lire un fichier CSV avec le délimiteur par défaut (virgule)

Tout d'abord, nous devons importer le module CSV:

Importer CSV 

Après avoir importé le module CSV, nous pouvons maintenant l'utiliser dans notre programme Python.

Ensuite, nous devons ouvrir le fichier CSV à l'aide de la fonction Open () en mode de lecture:

avec Open (''.csv ',' r ') comme csvfile 

Après avoir lu le fichier CSV, créez un objet de lecteur CSV:

CSVReader = CSV.lecteur (CSVFile) 

Puisque la virgule est le délimiteur par défaut, nous n'avons donc pas à le mentionner spécifiquement. Sinon, nous devons fournir le délimiteur utilisé par le fichier CSV.

Enfin pour extraire chaque ligne, utilisez la boucle pour itérer sur le csvreader Objectif et imprimez-les:

Pour l'étudiant en CSVReader: imprimé (étudiant) 

Dans l'ensemble, le code final ressemblera à ceci:

Importer du CSV avec Open (''.csv ',' r ') comme csvfile csvReader = csv.lecteur (CSVFile) pour l'étudiant dans CSVReader: Print (étudiant)
12345Importer CSVWith Open ('Student.csv ',' r ') comme csvfile csvReader = csv.lecteur (CSVFile) pour l'étudiant dans CSVReader: Print (étudiant)

Une fois tout le code écrit, exécutez le code et vous aurez le fichier CSV entier analysé dans le tableau de Python:

Lire un fichier CSV avec un délimiteur personnalisé

Pour lire un fichier CSV avec un délimiteur personnalisé, nous devons simplement mentionner le délimiteur lors de la lecture et de la création d'un objet de lecteur CSV.

Par exemple, si nous mettons un point-virgule (;) à la place d'une virgule dans les étudiants.CSV:

Et je veux lire le fichier CSV basé sur le point-virgule, alors le délimiteur serait mentionné comme:

CSVReader = CSV.lecteur (csvfile, délimiter = ';') 

Le code final avec le délimiteur spécifique ressemblera à ceci:

Importer du CSV avec Open (''.csv ',' r ') comme csvfile csvReader = csv.lecteur (CSVFile, Demiter = ';') pour l'élève dans CSVReader: Print (Student)
12345Importer CSVWith Open ('Student.csv ',' r ') comme csvfile csvReader = csv.lecteur (CSVFile, Demiter = ';') pour l'élève dans CSVReader: Print (Student)

La sortie sera la même que nous l'avons fait dans l'exemple précédent:

C'est ainsi que nous pouvons fournir un délimiteur personnalisé et lire le fichier CSV dans Python. Maintenant, apprenons à écrire un fichier CSV dans Python.

Écrire un fichier CSV dans Python

Pour écrire un fichier CSV, l'objet écrivain sera utilisé. Il peut y avoir deux façons d'écrire un fichier CSV:

  • Écrivez les lignes une par une en utilisant la fonction writerow ()
  • Écrivez plusieurs lignes à l'aide de la fonction writerrows ()

Commençons à écrire le code pour rédiger le fichier CSV et comprendre mieux dans les deux sens:

Comment rédiger un fichier CSV à l'aide de la fonction writerow () dans Python

En utilisant ceci writerow () fonction, nous ne pouvons écrire qu'une seule ligne à la fois dans un fichier CSV.

Par exemple, pour écrire trois lignes dans un nouvel employé.Fichier CSV, le Python ira comme ceci:

Importer du CSV avec Open («Employés.csv ',' w ') comme csvfile: écrivain = csv.écrivain (csvfile) écrivain.écrivain (["id", "nom", "âge"]) écrivain.écrivain ([1, "John", 35]) écrivain.Writerow ([2, "Harry", 25])
123456Importer CSVWith Open («Employés.csv ',' w ') comme csvfile: écrivain = csv.écrivain (csvfile) écrivain.écrivain (["id", "nom", "âge"]) écrivain.écrivain ([1, "John", 35]) écrivain.Writerow ([2, "Harry", 25])

Le code ci-dessus créera un fichier avec le nom des employés.CSV et ajouter trois lignes à ces employés.fichier csv.

Cependant, cette méthode devient inefficace, lorsque nous devons ajouter des centaines de lignes. Dans de tels cas, nous devons ajouter chaque rangée une par une, ce qui devient un travail mouvementé. Pour résoudre ce problème, Python fournit également un writerrows () fonction pour écrire de nombreuses lignes dans un fichier CSV simultanément.

Écrivez plusieurs lignes à l'aide de la fonction writerrows ()

En utilisant le writerrows () Fonction, nous pouvons simplement fournir un tableau de tableaux (lignes) à la fonction writerrows () et il ajoutera toutes les lignes dans le fichier CSV.

Par exemple, pour écrire trois lignes dans un employé.Fichier CSV, nous créons d'abord un tableau avec le nom de "employés.CSV " qui contient des lignes sous la forme d'éléments de tableau, puis fournit le "employés.CSV " Array à la fonction writerrows ().

Dans l'ensemble, le Python ira comme ceci:

Importer CSV Employés_CSV = [["Id", "Name", "Age"], [1, "John", 35], [2, "Harry", 25]] avec Open ('Employés.csv ',' w ') comme csvfile: écrivain = csv.écrivain (csvfile) écrivain.driprow (employés.CSV)
12345Importer csvemployees_csv = [["id", "nom", "âge"], [1, "John", 35], [2, "Harry", 25]] avec Open ('Employés.csv ',' w ') comme csvfile: écrivain = csv.écrivain (csvfile) écrivain.driprow (employés.CSV)

Le code ci-dessus créera un fichier avec le nom des employés.CSV et ajouter trois lignes à ces employés.Fichier CSV, comme pour la procédure précédente.

En utilisant cette méthode, vous pouvez ajouter des milliers de lignes au fichier CSV en un rien de temps en fournissant les données sous forme de tableaux.

Conclusion

CSV est un format de données utilisé pour stocker les données au format tabulaire et les transférer entre différentes applications. Python a un module intégré qui permet au code de lire, écrire et analyser les données CSV dans le code Python.

Dans cet article, nous avons appris à lire et à écrire des données sous la forme d'un fichier CSV à l'aide de Python.