Comment lire un fichier CSV dans Python (Module, Exemples Pandas)
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')])
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
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รฉ.
Conclusion
Vous savez maintenant comment utiliser la mรฉthode ยซ csv ยป et รฉgalement lire et รฉcrire des donnรฉes au format CSV. Les fichiers CSV sont largement utilisรฉs dans les applications logicielles car ils sont faciles ร lire et ร gรฉrer, et leur petite taille les rend relativement rapides ร traiter et ร transmettre.
Le module csv fournit diverses fonctions et classes qui vous permettent de lire et d'รฉcrire facilement. Vous pouvez consulter le fonctionnaire Python documentation et dรฉcouvrez d'autres astuces et modules intรฉressants. CSV est le meilleur moyen de sauvegarder, d'afficher et d'envoyer des donnรฉes. En fait, ce n'est pas aussi difficile ร apprendre qu'il n'y paraรฎt au dรฉbut. Mais avec un peu de pratique, vous le maรฎtriserez.
Pandas est une excellente alternative pour lire des fichiers CSV.
Il existe รฉgalement d'autres moyens d'analyser des fichiers texte avec des bibliothรจques telles que ANTLR, PLY et PlyPlus. Ils peuvent tous gรฉrer une analyse lourde, et si une simple manipulation de chaรฎne ne fonctionne pas, il existe des expressions rรฉguliรจres que vous pouvez utiliser.



