Formatage Excel avec Python & Pandas – Focus sur les requêtes les plus visibles

Lorsqu’on travaille son SEO, l’un des indicateurs clés à suivre est le volume d’impressions dans les résultats de recherche. Plus une requête est visible, plus elle a le potentiel de générer du trafic.

Dans cet article, on va transformer un export brut de la Search Console Google en un rapport Excel professionnel, incluant un graphique dynamique directement éditable dans Excel.


Objectif

À partir de données comme :

RequêteClicsImpressionsCTRPosition
iso 6230402210.00%44.62
logiciel diagnostic medical0720.00%77.72
manipuler excel avec python1541.85%9.56

Nous allons générer un fichier Excel :

✅ avec formatage conditionnel,
✅ des entêtes visuellement clairs,
✅ un classement des 10 requêtes les plus vues,
✅ un diagramme Excel interactif intégré automatiquement.


Étapes du traitement

1. Charger et trier les données par impressions

import pandas as pd

# Charger la feuille "Requêtes"
df = pd.read_excel("marcsauget_Performance-on-Search.xlsx", sheet_name="Requêtes")
df.columns = ["Requête", "Clics", "Impressions", "CTR", "Position"]

# Récupérer les 10 requêtes avec le plus d'impressions
top10 = df.sort_values(by="Impressions", ascending=False).head(10)

2. Exporter en Excel avec en-têtes stylisées

top10.to_excel("top10_impressions.xlsx", index=False, engine="openpyxl")

from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill

# Appliquer le style sur les en-têtes
wb = load_workbook("top10_impressions.xlsx")
ws = wb.active

header_fill = PatternFill(start_color="FFD700", fill_type="solid")
for cell in ws[1]:
cell.font = Font(bold=True)
cell.fill = header_fill

3. Ajouter un graphique Excel (camembert)

from openpyxl.chart import PieChart, Reference

# Préparer les données pour le graphique
labels = Reference(ws, min_col=1, min_row=2, max_row=11) # Requêtes
data = Reference(ws, min_col=3, min_row=1, max_row=11) # Impressions (avec en-tête)

# Créer le graphique Excel
pie = PieChart()
pie.title = "Répartition des impressions"
pie.add_data(data, titles_from_data=True)
pie.set_categories(labels)

# Ajouter à la feuille Excel
ws.add_chart(pie, "G2")

# Sauvegarder
wb.save("top10_impressions_with_chart.xlsx")

Résultat

Tu obtiens un fichier Excel avec :

  • Un tableau clair des 10 requêtes les plus vues,
  • Des valeurs formatées pour faciliter la lecture,
  • Un diagramme interactif permettant de visualiser l’exposition globale.

📈 Ce fichier peut être partagé, personnalisé dans Excel, ou intégré dans un reporting automatique. Le voici en téléchargement.


Conclusion

Pandas et OpenPyXL forment un duo parfait pour transformer vos exports bruts de données SEO en rapports prêts à l’emploi. Et en insérant des graphiques natifs Excel, on combine automatisation et souplesse d’édition.