Comment écrire une liste au format CSV en Python

Si vous avez lutté avec des listes Python et que vous vous demandez comment vous pouvez les enregistrer dans un fichier CSV soigné, vous êtes au bon endroit. L'une des tâches les plus courantes en Python consiste à écrire une liste dans un fichier délimité par des virgules, et aujourd'hui, nous allons vous transformer en un pro de la création de fichiers CSV !

Pour écrire une liste au format CSV en Python, vous pouvez utiliser un module intégré appelé csv spécialement conçu pour lire et écrire des fichiers CSV. La classe csv.writer du module fournit des fonctions pour écrire des listes simples et imbriquées dans des fichiers CSV.

D'autres méthodes pour obtenir le même résultat incluent l'installation et l'utilisation des modules externes Pandas ou NumPy.

Cet article explique les concepts et vous guide étape par étape tout au long du processus avec tous les exemples de code dont vous avez besoin pour commencer.

Allons-y!

Table des matières

Que sont les listes en Python ?

Comment écrire une liste au format CSV en Python

Une liste en Python est une structure de données intégrée qui est utilisée pour stocker plusieurs éléments dans une seule variable.

Les listes Python sont :

  • commandé (en partant de zéro).

  • mutable (peut être modifié).

  • capable de stocker des valeurs en double.

Les listes sont définies en ayant des valeurs entre crochets [] et les éléments sont séparés par des virgules. Les éléments d'une liste peuvent être de n'importe quel type de données, tels que des nombres, des chaînes et même d'autres listes.

Voici un exemple de création d'une liste simple :

products = [“t-shirts”, “hoodies”, “jeans”]

Listes de listes en Python

Les listes de listes sont également appelées listes imbriquées . Ce sont des listes qui contiennent d'autres listes comme éléments.

Ils sont souvent utilisés en Python pour représenter des données structurées en lignes et en colonnes. Ils sont couramment utilisés dans les scénarios où vous devez regrouper des données associées.

Voici un exemple de création d'une liste imbriquée qui représente les produits, les prix et les ventes.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

Fichiers CSV et module CSV en Python

Les fichiers CSV représentent des données tabulaires dans un format de fichier simple. Chaque ligne du fichier correspond à une ligne du tableau. Chaque valeur de la ligne (ou de la ligne) est séparée par une virgule. C'est pourquoi le format est appelé "Valeurs séparées par des virgules".

Voici à quoi pourrait ressembler un fichier représentant des produits, des prix et des ventes au format CSV :

  • t-shirts, 9,99, 342

  • sweats à capuche, 24,99, 118

  • jeans, 29,99, 612

Comment écrire une liste au format CSV en Python

Le module csv est un module Python intégré qui fournit des outils pour lire et écrire des données au format CSV. Il est particulièrement utile en raison de sa simplicité et de son efficacité.

En important le module csv , vous accédez à la classe csv.writer() , qui vous permet de créer un objet écrivain capable d'écrire une chaîne délimitée dans un objet fichier.

Très bien, maintenant que nous avons passé en revue les bases, voyons comment vous pouvez écrire une liste simple au format CSV en utilisant Python dans la section suivante.

Comment écrire une liste simple au format CSV en Python

La première technique à apprendre est pour un fichier liste simple (non imbriqué) qui ressemble à ceci :

  • t-shirts

  • sweats à capuche

  • jeans

Comment écrire une liste au format CSV en Python

Les grandes étapes pour écrire la liste dans un fichier CSV sont :

  1. Importez le module csv .

  2. Créez une liste Python.

  3. Ouvrez un fichier CSV en mode écriture.

  4. Utilisez la fonction writerow() de l' objet csv writer .

  5. Enregistrez et fermez le fichier CSV.

La fonction writerow() écrira plusieurs lignes, c'est-à-dire toutes les données dans le fichier. Voici le code avec des commentaires détaillés.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Utilisation des gestionnaires de contexte

Si vous n'êtes pas familier avec la méthode "avec" de travail avec les fichiers, il s'agit d'une technique qui utilise un gestionnaire de contexte qui gère les ressources de fichiers.

Par exemple, lorsque vous l'utilisez pour écrire des fichiers CSV, les fichiers sont automatiquement fermés lorsque l'instruction with se termine.

Comment écrire une liste de listes au format CSV

Avec une liste de listes, chaque liste interne doit être une ligne CSV dans le fichier. Voici à quoi ressembleront les données CSV :

Comment écrire une liste au format CSV en Python

Les grandes étapes sont similaires à la section précédente, sauf que vous utilisez la fonction writerows() au lieu de writerow() .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

Dans ce deuxième exemple, chaque liste interne est écrite comme une ligne distincte dans le fichier.

Notez que le module csv vous évite d'avoir à énumérer ou parcourir la structure de données et à l'écrire ligne par ligne.

Ensuite, nous verrons comment vous pouvez ajouter des données aux fichiers CSV existants.

Comment ajouter des données aux fichiers CSV existants

Comment écrire une liste au format CSV en Python

Pour ajouter des données à un fichier CSV existant, procédez comme suit :

  1. Importez le module csv .

  2. Ouvrez le fichier CSV en mode ajout ('a') à l'aide du gestionnaire de contexte with open() .

  3. Créez une nouvelle liste contenant les données à ajouter.

  4. Créez un objet csv.writer() en transmettant le fichier ouvert.

  5. Utilisez l' objet csv.writer() pour écrire la nouvelle liste dans le fichier CSV.

Voici un exemple qui écrit ajoute une liste imbriquée (une ligne) à un fichier existant :

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Assurez-vous d'inclure newline=" lors de l'ouverture du fichier pour garantir un formatage correct du fichier CSV sur différentes plates-formes.

Dans la section suivante, nous verrons comment vous pouvez utiliser la classe DictWriter pour écrire dans des fichiers CSV.

Comment utiliser DictWriter pour écrire dans des fichiers CSV

Comment écrire une liste au format CSV en Python

Jusqu'à présent, nous avons appris à écrire des listes dans des fichiers CSV. Cependant, Python a d'autres structures de données comme des dictionnaires qui peuvent également être écrites dans un fichier CSV.

La classe DictWriter() fait également partie du module csv . Elle est similaire à la classe writer() mais elle gère les données du dictionnaire.

Voici un exemple :

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Techniques CSV avancées en Python

L'utilisation du module csv n'est pas la seule méthode pour exporter des listes Python sous forme de fichiers CSV.

Deux bibliothèques populaires qui fournissent des fonctionnalités pour cette tâche sont Pandas et NumPy .

1. Comment exporter des données avec des pandas

Comment écrire une liste au format CSV en Python

Pandas est une bibliothèque Python largement utilisée pour la manipulation et l'analyse de données.

Pour enregistrer des listes Python en tant que fichier CSV, vous pouvez créer un pandas DataFrame à partir de la liste, puis utiliser la méthode to_csv() , comme indiqué ci-dessous :

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Si vos données incluent des caractères non ASCII, vous devrez peut-être définir le paramètre d'encodage sur une valeur appropriée, telle que "utf-8".

2. Comment utiliser NumPy pour enregistrer des listes au format CSV

Une autre bibliothèque à considérer est NumPy qui prend en charge le travail avec des tableaux et des matrices.

NumPy propose la fonction np.savetxt() comme méthode pratique pour enregistrer des données dans un fichier CSV.

Voici un exemple montrant comment enregistrer une liste dans un fichier CSV à l'aide de NumPy :

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Voici une ventilation des paramètres savetxt() :

  • délimiteur : spécifie le séparateur de champs

  • Paramètre fmt : indique le format des données en cours de sauvegarde

  • %s : l'espace réservé pour les valeurs de chaîne

  • header : une liste d'en-têtes de colonnes

  • comments : contrôle les caractères qui commencent les commentaires dans le fichier de sortie.

Comment nettoyer les données avant d'écrire dans un fichier

C'est une bonne idée de nettoyer vos données avant de les écrire dans des fichiers texte. Cette vidéo vous donnera les techniques dont vous avez besoin :

Dernières pensées

L'écriture d'une liste dans un fichier CSV en Python est un moyen simple et efficace de stocker et de partager des données. Vous avez appris à utiliser le module csv intégré de Python pour effectuer cette tâche.

Vous êtes maintenant familiarisé avec la création d'une liste Python, l'importation du module csv , l'ouverture d'un fichier CSV et l'utilisation de csv.writer pour écrire la liste dans le fichier CSV.

Vous avez également appris les scénarios plus complexes d'écriture d'une liste de listes dans un fichier CSV, ce qui vous permet de stocker des données tabulaires.

N'oubliez pas, comme toutes les choses en programmation, la pratique rend parfait. Alors, prenez ces nouvelles connaissances, jouez avec et voyez comment cela fonctionne avec différents ensembles de données et besoins de projet.

Ce n'est que la pointe de l'iceberg Python. Il y a tellement plus à explorer dans le vaste monde de Python, alors ne vous arrêtez pas là. Mais pour aujourd'hui, donnez-vous une tape dans le dos. Vous avez réussi à apprivoiser la bête de la conversion de liste en CSV !

Leave a Comment

Gestion des erreurs dans Power Automate via le branchement parallèle

Gestion des erreurs dans Power Automate via le branchement parallèle

Découvrez l

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculez la marge en pourcentage à l

Modifier les formats de date à laide de léditeur Power Query

Modifier les formats de date à laide de léditeur Power Query

Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d

Comment adapter les cellules Excel au texte : 4 solutions simples

Comment adapter les cellules Excel au texte : 4 solutions simples

Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.