Lire des classeurs
Ouvrir et lire des fichiers Excel
Lire des classeurs est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.
Excel avec Python
openpyxl est la bibliothèque de référence pour lire et écrire les fichiers Excel modernes (au format .xlsx). Elle permet à Python d’automatiser des tâches sur les feuilles de calcul que les utilisateurs devraient autrement effectuer manuellement.
Cette leçon se concentre sur l’ouverture des fichiers et la lecture de leur contenu.
Le modèle de classeur
Les fichiers Excel suivent une hiérarchie claire, que reflète openpyxl :
- Classeur le fichier entier
- Feuille un onglet à l’intérieur du fichier
- Cellule une seule case au format A1 contenant une valeur
Vous naviguez du classeur à la feuille, puis à la cellule.
Ouvrir un fichier
load_workbook('data.xlsx') lit un fichier et renvoie un classeur. Pour les fichiers volumineux que vous lisez seulement, transmettez read_only=True afin de parcourir les lignes en flux continu et d’économiser la mémoire.
Utilisez data_only=True pour lire le dernier résultat calculé des cellules contenant des formules plutôt que le texte de la formule.
Sélectionner une feuille
wb.active fournit la feuille actuellement sélectionnée. wb['Sheet1'] sélectionne une feuille par son nom, et wb.sheetnames répertorie tous les onglets. Choisir la bonne feuille est la première étape de toute lecture.
sheetnames = ['Summary', 'Q1', 'Q2', 'Q3']
wanted = 'Q2'
if wanted in sheetnames:
print('Selecting sheet:', wanted)
else:
print('Not found, defaulting to', sheetnames[0])Lire une seule cellule
Accédez à une cellule à l’aide de son adresse Excel : ws['A1'].value, ou à l’aide de nombres avec ws.cell(row=1, column=1).value. L’attribut .value contient les données réelles, qui peuvent être du texte, un nombre, une date ou None.
Lettres et nombres de colonne
Les colonnes Excel sont désignées par des lettres (A, B, ... Z, AA), mais openpyxl utilise également des nombres commençant à 1. Il est parfois nécessaire de passer de l’un à l’autre. Voici le numéro de colonne correspondant à une lettre.
def col_to_num(letters):
num = 0
for ch in letters.upper():
num = num * 26 + (ord(ch) - ord('A') + 1)
return num
for c in ['A', 'B', 'Z', 'AA']:
print(c, '->', col_to_num(c))Parcourir les lignes
ws.iter_rows(values_only=True) renvoie chaque ligne sous forme de tuple de valeurs. C’est la manière la plus claire de lire un tableau. La première ligne est généralement l’en-tête.
Vous parcourez les lignes comme n’importe quel itérable.
rows = [
('Name', 'Age', 'City'),
('Ada', 36, 'London'),
('Linus', 54, 'Helsinki'),
]
header = rows[0]
for record in rows[1:]:
print(dict(zip(header, record)))Trouver la plage utilisée
ws.max_row et ws.max_column indiquent jusqu’où s’étendent les données. ws.dimensions renvoie la chaîne représentant la plage, comme 'A1:C10'. Utilisez-les pour éviter de lire des cellules vides.
Lire une plage
Vous pouvez découper une feuille : ws['A1:C3'] renvoie un tuple de tuples de lignes contenant des objets cellule. C’est pratique lorsque vous n’avez besoin que d’une partie de la feuille plutôt que de toutes les lignes.
Gérer les cellules vides
Les cellules vides renvoient None. Les feuilles de calcul réelles sont rarement parfaitement propres : lors de la lecture, prévoyez donc les valeurs manquantes, par exemple en les remplaçant par une valeur par défaut. Cela évite les plantages lors des étapes suivantes.
raw_row = ('Ada', None, 'London')
clean = [v if v is not None else 'N/A' for v in raw_row]
print(clean)Lire plusieurs feuilles
Un classeur peut répartir les données sur plusieurs onglets, par exemple un par mois. Parcourez wb.sheetnames, sélectionnez chaque feuille et lisez-la avec la même logique. Ajoutez à chaque ligne le nom de sa feuille pour garder une trace de son origine.
Ce modèle regroupe plusieurs onglets en un seul jeu de données.
Vérification rapide
Vérifiez vos compétences en lecture.
Récapitulatif
Vous savez maintenant lire des fichiers Excel :
- Hiérarchie : classeur > feuille > cellule
load_workbookavec les optionsread_onlyetdata_only- Sélection des feuilles avec
wb.active,wb['Name']etwb.sheetnames - Lecture avec
.valueetiter_rows(values_only=True), et vérification demax_row/max_column - Prévoir la valeur
Nonepour les cellules vides
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 76
- Leçons
- 320
Questions Fréquemment Posées
La leçon « Lire des classeurs » est-elle gratuite ?
Oui — le texte complet de « Lire des classeurs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Lire des classeurs » ?
Ouvrir et lire des fichiers Excel Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python Academy ?
Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Lire des classeurs » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?
Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Lire des classeurs
- Écrire et mettre en forme des cellules
- Formules et graphiques
- Traitement par lots des rapports