CodeGym /Cours Java /Python SELF FR /Sauvegarde des données aux formats CSV et Excel

Sauvegarde des données aux formats CSV et Excel

Python SELF FR
Niveau 32 , Leçon 3
Disponible

1. Préparation des données pour la sauvegarde

Dans les conférences précédentes, nous avons appris à extraire des données des pages web grâce à la bibliothèque BeautifulSoup. Maintenant, il est temps de transformer nos exploits en scraping en quelque chose d'utile et pratique pour l'analyse. Après tout, si les données restent uniquement dans votre script, cela a peu d'intérêt. Aujourd'hui, nous allons apprendre comment sauvegarder des données aux formats CSV et Excel, car, comme on dit, dans la vie d'un programmeur, tout comme dans celle d'un chat, l'essentiel est de trouver quoi manger... je veux dire, sauvegarder.

Avant de commencer à transformer nos données en tableaux amusants, prenons un moment pour voir comment préparer nos données pour l'exportation. Généralement, les données que nous extrayons des pages web sont présentées sous forme de listes ou de dictionnaires. Il est préférable de les formater de manière à ce qu'elles soient prêtes à être exportées en format tabulaire.

Exemple de données

Imaginons que vous avez collecté les données suivantes sur des livres :

Python

books = [
    {"title": "Harry Potter à l'école des sorciers", "author": "J. K. Rowling", "price": "350.00"},
    {"title": "Le Seigneur des Anneaux", "author": "J. R. R. Tolkien", "price": "500.00"},
    {"title": "Le Maître et Marguerite", "author": "M. A. Boulgakov", "price": "450.00"}
]

2. Sauvegarde au format CSV

CSV (Comma-Separated Values) est un format texte simple qui permet de stocker des données tabulaires. Chaque ligne dans un fichier CSV correspond à un enregistrement, et chaque colonne est séparée par des virgules. Voyons comment sauvegarder nos données dans ce format.

Utilisation de la bibliothèque csv

Python nous offre un module pratique, csv, qui rend la vie beaucoup plus facile lorsqu'on travaille avec des fichiers CSV. Voici comment exporter nos données sur les livres en CSV :

Python

import csv

with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
    writer.writeheader()
    writer.writerows(books)

print("Les données ont été sauvegardées avec succès dans books.csv")

Remarque : indiquez toujours newline='' lors de l'ouverture du fichier en mode w, pour éviter des lignes vides supplémentaires sous Windows.

Lecture des données depuis un CSV

Pour compléter le tableau, voyons comment lire les données depuis un fichier CSV :

Python

with open('books.csv', mode='r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

3. Sauvegarde au format Excel

Pour travailler avec Excel en Python, nous utiliserons la bibliothèque pandas. Pandas permet de convertir facilement nos données en DataFrame et de les exporter dans divers formats, y compris Excel.

Installation de pandas

Si vous n'avez pas encore installé pandas, vous pouvez le faire avec pip :

Bash

pip install pandas openpyxl

Utilisation de pandas pour l'exportation vers Excel

Maintenant, sauvegardons nos données sur les livres dans un fichier Excel :

Python

import pandas as pd

df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')

print("Les données ont été sauvegardées avec succès dans books.xlsx")

Lecture des données depuis Excel

Quel bonheur non seulement de créer, mais aussi de réutiliser ce qui a été créé ! Voyons comment lire des données depuis un fichier Excel :

Python

df = pd.read_excel('books.xlsx')
print(df)

4. Erreurs et leur gestion

Comme pour tout autre aspect de la programmation, lors de l'exportation des données, vous pouvez rencontrer des erreurs. Les plus courantes concernent les chemins de fichiers incorrects ou l'absence des bibliothèques nécessaires. Par exemple, si vous oubliez d'installer openpyxl, l'exportation vers Excel échouera.

Vérification de l'existence des fichiers

Avant de tenter d'écrire ou de lire un fichier, il est utile de vérifier s'il existe. Cela peut être fait avec le module os :

Python

import os

if os.path.exists('books.csv'):
    print("Le fichier books.csv existe")
else:
    print("Le fichier books.csv est introuvable")

Vous ne le croirez peut-être pas, mais l'erreur la plus courante des débutants, c'est d'écraser accidentellement les anciennes données par de nouvelles. Automatiser la sauvegarde de l'historique des fichiers est tout un art.

N'oubliez pas non plus d'inclure la gestion des erreurs avec les blocs try-except, pour que votre script ne plante pas au premier problème rencontré.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION