Comment lire le CSV pour lister en Python

Afia Ghazanfar 10 octobre 2023
  1. Lire le CSV dans une liste en Python en utilisant csv.reader
  2. Lire le CSV dans une liste en Python en utilisant csv.reader avec d’autres délimiteurs
Comment lire le CSV pour lister en Python

Cet article présente comment lire le CSV pour lister en Python.

Supposons que nous ayons un fichier CSV Employees.csv avec le contenu suivant dedans,

Id Name Department email Salary
1 Sam Human Resource sam@gmail.com 65K
2 John Management john@gmail.com 58K
3 Tony IT tony@gmail.com 70K
4 Mike Accounts mike@gmail.com 35K

Si vous ouvrez ce fichier à l’aide d’un éditeur de texte, son contenu devrait ressembler à ceci.

Id,Name,Department,email,Salary
1,Sam,Human Resource,sam@gmail.com,65K
2,John,Management,john@gmail.com,58K
3,Tonny,IT,tonny@gmail.com,70K
4,Mike,Accounts,mike@gmail.com,35K

Nous allons maintenant importer les données ci-dessus de ce fichier CSV dans une liste Python.

Lire le CSV dans une liste en Python en utilisant csv.reader

Python a un module intégré nommé CSV, qui a une classe de lecture pour lire le contenu d’un fichier CSV. L’exemple de code pour lire le CSV dans une liste en Python est le suivant.

from csv import reader

with open("Employees.csv", "r") as csv_file:
    csv_reader = reader(csv_file)
    # Passing the cav_reader object to list() to get a list of lists
    list_of_rows = list(csv_reader)
    print(list_of_rows)

csv_reader = reader(csv_file) passe le fichier ojbect csv_file à la fonction csv.reader() et récupère l’objet reader. Il retourne un itérateur, qui est utilisé pour itérer sur toutes les lignes du fichier CSV.

list_of_rows = list(csv_reader) convertit l’objet csv.reader en une liste de listes, où chaque élément de la liste signifie une ligne de CSV, et chaque élément de la liste représente une cellule ou une colonne dans une ligne.

Production:

[['Id', 'Name', 'Company', 'email', 'Salary'], 
['1', 'Sam', 'Human Resource', 'sam@gmail.com', '65K'], 
['2', 'John', 'Management', 'john@gmail.com', '58K'], 
['3', 'Tonny', 'IT', 'tonny@gmail.com', '70K'], 
['4', 'Mike', 'Accounts', 'mike@gmail.com', '35K']]

Lire le CSV dans une liste en Python en utilisant csv.reader avec d’autres délimiteurs

La fonction csv.reader offre également une option pour lire les fichiers texte dans lesquels les valeurs sont séparées par un autre caractère plutôt que par une virgule. Par exemple, le délimiteur peut être une tabulation ou un espace blanc. Pour lire de tels fichiers, nous devons passer un paramètre supplémentaire “délimiteur” à la fonction de lecture. Voir l’exemple ci-dessous.

Si nous avons un fichier Employees_TSV.csv avec le même contenu que dans Employees.csv mais séparé par une tabulation plutôt qu’une virgule, c’est à dire

from csv import reader

with open("Employees_TSV.csv", "r") as csv_file:
    csv_reader = reader(csv_file, delimiter="\t")
    list_of_rows = list(csv_reader)
    print(list_of_rows)

Nous lisons les données d’un fichier de valeurs séparées par des tabulations dans le code ci-dessus. delimiter = '\t' précise que le délimiteur dans le fichier CSV est la tabulation.

La sortie de ce code est la même que celle du code ci-dessus.

Article connexe - Python List

Article connexe - Python CSV