Comment lire un fichier CSV dans Python (Module, Exemples Pandas)

โšก Rรฉsumรฉ intelligent

Un fichier CSV stocke des donnรฉes tabulaires sous forme de texte brut, les colonnes รฉtant sรฉparรฉes par des virgules et les lignes par des sauts de ligne. Vous apprendrez ici ร  lire et ร  รฉcrire des fichiers CSV. Python en utilisant le module csv intรฉgrรฉ et la bibliothรจque pandas.

  • ๐Ÿ“„ Qu'est-ce que c'est: Un fichier CSV stocke des donnรฉes tabulaires sous forme de texte brut sรฉparรฉ par des virgules.
  • ???? lecteur csv : csv.reader() lit les lignes d'un fichier CSV sous forme de listes.
  • ๐Ÿ“š Lecteur de dictionnaire : csv.DictReader() lit chaque ligne dans un dictionnaire ordonnรฉ.
  • โœ๏ธ csv.writer : Les fonctions csv.writer() et writerow() รฉcrivent des lignes dans un fichier CSV.
  • ???? Les pandas : pandas.read_csv() et to_csv() permettent de lire et d'รฉcrire des fichiers CSV en une seule ligne.
  • ๐Ÿค– Aide de l'IA : Les outils d'IA comme Copilot gรฉnรจrent instantanรฉment du code de lecture et d'รฉcriture CSV.

Lire le fichier CSV dans Python

Qu'est-ce qu'un fichier CSV?

A fichier CSV est un type simple de fichier texte brut qui utilise une structure spรฉcifique pour organiser les donnรฉes sous forme de tableau. Le format standard d'un fichier CSV est dรฉfini par des donnรฉes de lignes et de colonnes oรน une nouvelle ligne termine chaque ligne pour commencer la ligne suivante, et chaque colonne est sรฉparรฉe par une virgule dans la ligne.

CSV est un format courant pour l'รฉchange de donnรฉes car il est compact, simple et gรฉnรฉral. De nombreux services en ligne permettent ร  leurs utilisateurs d'exporter des donnรฉes tabulaires du site Web vers un fichier CSV. Les fichiers CSV s'ouvriront dans Excel et presque toutes les bases de donnรฉes disposent d'un outil permettant l'importation ร  partir de fichiers CSV.

Exemple de fichier CSV

Les donnรฉes sous forme de tableaux sont รฉgalement appelรฉes CSV (valeurs sรฉparรฉes par des virgules) โ€“ littรฉralement ยซ valeurs sรฉparรฉes par des virgules ยป. Il s'agit d'un format de texte destinรฉ ร  la prรฉsentation de donnรฉes tabulaires. Chaque ligne du fichier correspond ร  une ligne du tableau. Les valeurs des colonnes individuelles sont sรฉparรฉes par un symbole sรฉparateur โ€“ une virgule (,), un point-virgule (;) ou un autre symbole. CSV peut รชtre facilement lu et traitรฉ par Python.

Considรฉrez le tableau suivant

Donnรฉes du tableau

Langage de programmation Conรงu par Apparu Extension
Python Guido van Rossum 1991 py
Java James Goslin 1995 .Java
C++ Bjarne Stroustrup 1983 .cpp

Vous pouvez reprรฉsenter ce tableau au format CSV comme ci-dessous.

Donnรฉes CSV

Langage de programmation, Conรงu par, Apparu, Extension

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

Comme vous pouvez le voir, chaque ligne est une nouvelle ligne et chaque colonne est sรฉparรฉe par une virgule. Ceci est un exemple de ce ร  quoi ressemble un fichier CSV.

Tรฉlรฉcharger les donnรฉes CSV

Python Module CSV

Python fournit un module CSV pour gรฉrer les fichiers CSV. Pour lire/รฉcrire des donnรฉes, vous devez parcourir les lignes du CSV. Vous devez utiliser la mรฉthode split pour obtenir les donnรฉes des colonnes spรฉcifiรฉes.

Fonctions du module CSV

Dans la documentation du module CSV, vous pouvez trouver les fonctions suivantes :

  • csv.field_size_limit โ€“ renvoie la taille maximale du champ
  • csv.get_dialect โ€“ rรฉcupรจre le dialecte associรฉ au nom
  • csv.list_dialects โ€“ afficher tous les dialectes enregistrรฉs
  • csv.reader โ€“ lire les donnรฉes d'un fichier csv
  • csv.register_dialect โ€“ associer le dialecte au nom
  • csv.writer โ€“ รฉcrire des donnรฉes dans un fichier csv
  • csv.unregister_dialect โ€“ supprime le dialecte associรฉ au nom du registre de dialectes
  • csv.QUOTE_ALL โ€“ Citez tout, quel que soit le type.
  • csv.QUOTE_MINIMAL โ€“ Champs de citation avec caractรจres spรฉciaux
  • csv.QUOTE_NONNUMERIC โ€“ Citez tous les champs qui ne sont pas des valeurs numรฉriques
  • csv.QUOTE_NONE โ€“ Ne citez rien dans la sortie

Dans ce tutoriel, nous allons nous concentrer uniquement sur les fonctions de lecture et d'รฉcriture qui vous permettent d'รฉditer, de modifier et de manipuler les donnรฉes d'un fichier CSV.

Comment lire un fichier CSV dans Python

Vous trouverez ci-dessous les รฉtapes pour lire le fichier CSV dans Python.

ร‰tape 1) Pour lire des donnรฉes ร  partir de fichiers CSV, vous devez utiliser la fonction lecteur pour gรฉnรฉrer un objet lecteur.

La fonction de lecture est dรฉveloppรฉe pour prendre chaque ligne du fichier et dresser une liste de toutes les colonnes. Ensuite, vous devez choisir la colonne pour laquelle vous souhaitez les donnรฉes variables.

Cela semble beaucoup plus complexe quโ€™il ne lโ€™est. Jetons un coup d'oeil ร  ceci Python code pour lire le fichier CSV, et nous dรฉcouvrirons que travailler avec un fichier csv n'est pas si difficile.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

ร‰tape 2) Lorsque vous exรฉcutez le programme ci-dessus, le rรฉsultat sera :

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Comment lire un fichier CSV dans un dictionnaire dans Python

Vous pouvez รฉgalement utiliser DictReader pour lire des fichiers CSV. Les rรฉsultats sont interprรฉtรฉs comme un dictionnaire dans lequel la ligne d'en-tรชte est la clรฉ et les autres lignes sont des valeurs.

Considรฉrez le code suivant

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Le rรฉsultat de ce code est :

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Lire un fichier CSV dans un dictionnaire

Et cette faรงon de lire les donnรฉes dโ€™un fichier CSV est beaucoup plus simple que la mรฉthode prรฉcรฉdente. Cependant, ce nโ€™est pas la meilleure faรงon de lire des donnรฉes.

Comment รฉcrire un fichier CSV dans Python

Voici comment รฉcrire un fichier CSV dans Python:

Lorsque vous souhaitez stocker un ensemble de donnรฉes dans un fichier CSV, vous devez utiliser la fonctionwriter(). Pour parcourir les donnรฉes sur les lignes (lignes), vous devez utiliser la fonction writerow().

Considรฉrez l'exemple suivant. Nous รฉcrivons les donnรฉes dans un fichier ยซ writeData.csv ยป oรน le dรฉlimiteur est une apostrophe.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Le rรฉsultat dans le fichier csv est :

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

รฉcrire le fichier CSV dans Python

Lire le fichier CSV ร  l'aide de Pandas

Pandas est une bibliothรจque open source qui vous permet d'importer du CSV dans Python et effectuer des manipulations de donnรฉes. Les pandas offrent un moyen simple de crรฉer, manipuler et supprimer les donnรฉes.

Vous devez installer la bibliothรจque pandas avec la commande pip install pandas . Dans Windows, vous exรฉcuterez cette commande dans lโ€™invite de commande sous Linux dans le terminal.

Lire le CSV dans un DataFrame pandas est trรจs simple et rapide :

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Rรฉsultat de la lire les pandas CSV Exemple:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Bibliothรจque trรจs utile. En seulement trois lignes de code, vous obtenez le mรชme rรฉsultat que prรฉcรฉdemment. Les pandas savent que la premiรจre ligne du CSV contenait des noms de colonnes et il les utilisera automatiquement.

ร‰crire un fichier CSV ร  l'aide de Pandas

L'รฉcriture dans un fichier CSV avec Pandas est aussi simple que la lecture. Ici, vous pouvez vous en convaincre. Vous devez d'abord crรฉer un DataFrame basรฉ sur les รฉlรฉments suivants Python รฉcrire dans le code CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Voici la sortie

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Et le fichier CSV est crรฉรฉ ร  l'emplacement spรฉcifiรฉ.

ร‰crire un fichier CSV ร  l'aide de Pandas

FAQ

Un fichier CSV (valeurs sรฉparรฉes par des virgules) est un fichier texte brut qui stocke des donnรฉes tabulaires. Chaque ligne correspond ร  une rangรฉe, et les virgules sรฉparent les valeurs de chaque colonne.

Importez le module csv, ouvrez le fichier et transmettez-le ร  csv.reader() pour parcourir les lignes sous forme de listes. Vous pouvez รฉgalement utiliser csv.DictReader() pour lire chaque ligne comme un dictionnaire.

Ouvrez un fichier en mode รฉcriture, crรฉez un objet `csv.writer()`, puis appelez `writerow()` pour chaque ligne ou `writerows()` pour plusieurs lignes. L'objet `writer` gรจre automatiquement les guillemets et les dรฉlimiteurs.

La mรฉthode `csv.DictReader()` lit un fichier CSV et le convertit en dictionnaires ordonnรฉs, en utilisant l'en-tรชte de colonne comme clรฉ. Cela permet d'accรฉder ร  chaque valeur par son nom de colonne plutรดt que par son index.

Appelez pandas.read_csv('file.csv'), ce qui charge le fichier CSV dans un DataFrame en une seule ligne. Pandas utilise automatiquement la premiรจre ligne comme en-tรชtes de colonnes.

Les assistants IA comme GitHub Copilot complรจtent automatiquement les appels csv et pandas, gรฉnรจrent des boucles de lecture et d'รฉcriture et suggรจrent le bon dรฉlimiteur ou l'option de guillemets ร  partir d'une brรจve description.

Oui. Les outils basรฉs sur l'IA peuvent automatiser l'analyse, le nettoyage et la conversion des donnรฉes CSV, gรฉnรฉrer des pipelines pandas et ajouter une gestion des erreurs pour les lignes malformรฉes ou les colonnes manquantes.

Utilisez le module csv intรฉgrรฉ pour une lecture et une รฉcriture simples et rapides. Choisissez pandas lorsque vous devez filtrer, transformer ou analyser efficacement de grands ensembles de donnรฉes CSV.

Rรฉsumez cet article avec :