Les formats principaux pour stocker des données en Python
Travailler avec des fichiers Excel et CSV est une compétence essentielle pour les développeurs Python, notamment dans les domaines de l'analyse de données, de l'automatisation de rapports et du développement backend. Écrire correctement des données dans des fichiers permet de stocker, transmettre et traiter efficacement l'information entre différents systèmes.
Ce guide présente les méthodes principales pour sauvegarder des données dans des formats populaires à l'aide des bibliothèques standard et tierces de Python. Vous découvrirez des exemples pratiques pour travailler avec les fichiers CSV et Excel, et maîtriserez les techniques de formatage et de structuration des données.
Le format CSV : particularités et utilisation
Qu'est-ce que le format CSV ?
Le CSV (Comma-Separated Values) est un format texte simple pour stocker des données tabulaires. Dans ce format, les valeurs sont séparées par des virgules ou d'autres caractères délimiteurs comme le point-virgule ou la tabulation. Le format CSV est largement utilisé pour échanger des données entre différentes applications et systèmes.
Avantages du format CSV
- Format texte léger et lisible
- S'ouvre rapidement dans n'importe quel éditeur de texte, y compris Excel
- Idéal pour le transfert de données entre systèmes
- Taille de fichier réduite par rapport aux formats binaires
- Pris en charge par la plupart des logiciels de traitement de données
Limitations du format CSV
- Absence de support pour le formatage avancé (couleurs, polices)
- Impossible de stocker des formules et des calculs
- Prise en charge limitée des différents types de données
- Impossible d'intégrer des images ou des tableaux imbriqués
Travailler avec CSV via la bibliothèque standard
Les bases du module csv
Le module csv fait partie de la bibliothèque standard de Python et ne nécessite aucune installation supplémentaire. Il fournit des outils pratiques pour lire et écrire des fichiers CSV avec différentes options de formatage.
import csv
data = [
['Nom', 'Âge', 'Ville'],
['Jean', 28, 'Paris'],
['Marie', 25, 'Lyon']
]
with open('personnes.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
Après exécution de ce code, un fichier personnes.csv est créé avec le contenu suivant :
Nom,Âge,Ville
Jean,28,Paris
Marie,25,Lyon
Configuration des délimiteurs dans CSV
Le délimiteur standard dans CSV peut être modifié selon les exigences du système ou les paramètres régionaux :
with open('personnes.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file, delimiter=';')
writer.writerows(data)
Utilisation de DictWriter
Pour travailler plus facilement avec des données sous forme de dictionnaires, on utilise la classe DictWriter :
import csv
data = [
{'Nom': 'Jean', 'Âge': 28, 'Ville': 'Paris'},
{'Nom': 'Marie', 'Âge': 25, 'Ville': 'Lyon'}
]
with open('personnes.csv', 'w', newline='', encoding='utf-8') as file:
fieldnames = ['Nom', 'Âge', 'Ville']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
Travailler avec les fichiers Excel via openpyxl
Installation et configuration de la bibliothèque
Les fichiers Excel sont utilisés lorsqu'il est nécessaire de stocker des données structurées avec du formatage, des formules ou des graphiques. La bibliothèque openpyxl offre un ensemble complet d'outils pour travailler avec les fichiers Excel.
pip install openpyxl
Création d'un fichier Excel de base
from openpyxl import Workbook
data = [
['Nom', 'Âge', 'Ville'],
['Jean', 28, 'Paris'],
['Marie', 25, 'Lyon']
]
wb