Exemples

À quoi ressemblent les livrables.

Voici le type de documents que vous recevez. Ces exemples sont illustratifs : les fichiers et les données sont fictifs et ne proviennent d’aucun client.

Jarmila Husarova

Exemples illustratifs — fichiers et données fictifs. Les données de mes clients restent strictement confidentielles.

Exemple 1

La cartographie des données

Avant tout développement, vous recevez le tableau qui décrit chaque champ : d’où il vient, comment il est converti et où il est chargé. Vous le validez ou le corrigez : c’est lui qui fixe le périmètre et le prix.

Livré avec : cartographie, scripts d’extraction, scripts de chargement, flux complets.

cartographie_export_commandes.xlsx
SourceConversionDestinationObligatoire
N° commandeTexte, espaces retiréscommandes.numeroOui
DateJJ/MM/AAAA → AAAA-MM-JJcommandes.dateOui
Montant TTC« 1 234,50 » → 1234.50commandes.montantOui
ClientRapproché par code clientcommandes.client_idSi connu
Pays« France » → FRcommandes.paysNon
CommentaireIgnoré—Non
Exemple 2

Le rapport de chargement

Après chaque passage, le script indique ce qu’il a fait : lignes lues, chargées, mises à jour et rejetées. Chaque rejet est expliqué, pour que vous sachiez exactement quoi corriger.

8 420lignes lues
8 391chargées
29rejetées
rapport_chargement.csv
LigneChampValeurMotif
118date31/02/2026Date inexistante
764montant12,5,0Format numérique invalide
1 205numeroC-20418Déjà chargée (doublon)
3 377clientCL-0091Code client inconnu
6 012numero(vide)Champ obligatoire manquant
Exemple 3

Le script, lisible et commenté

Le code vous est remis. Il est commenté en français, organisé étape par étape (extraction, conversion, chargement) et peut être relancé à chaque nouvel export — ou planifié pour tourner seul. Les identifiants d’accès restent chez vous, dans un fichier de configuration séparé.

Livré avec : conversions, scripts d’extraction et de chargement, flux complets, migrations.

charger_commandes.py
# Étape 2 — Conversion : formats français → formats de la base
def convertir(ligne):
    ligne["date"] = datetime.strptime(ligne["date"], "%d/%m/%Y").date()
    ligne["montant"] = Decimal(ligne["montant"].replace(" ", "").replace(",", "."))
    return ligne

# Étape 3 — Chargement : ajout ou mise à jour, sans doublon
for ligne in lignes_valides:
    base.execute(
        "INSERT INTO commandes (numero, date, montant) VALUES (%s, %s, %s) "
        "ON CONFLICT (numero) DO UPDATE SET montant = EXCLUDED.montant",
        (ligne["numero"], ligne["date"], ligne["montant"]),
    )
Exemple 4

Le suivi et l’alerte e-mail

Avec les contrôles de qualité ou le tableau de suivi, un résumé vous arrive après chaque passage : volumes traités, anomalies par règle, évolution depuis la veille.

Flux quotidien — export commandes

Objet : ✅ Chargement du 14/10 — 8 391 lignes, 29 rejets (−12 depuis hier)

  • Code client inconnu18
  • Doublon8
  • Date invalide3

Détail joint : rejets_14-10.xlsx

Prix nets, TVA non applicable, art. 293 B du CGI. Après votre commande, le prix est confirmé par écrit sous 12 h ouvrées au vu de vos fichiers et de vos sources, avant tout travail — remboursement intégral si vous refusez un prix révisé. Prix et ajustements de prix

Parlons de vos données

Un export que vous retouchez chaque semaine ?

Envoyez-moi un exemple de fichier ou décrivez votre base : je vous dis gratuitement ce qui peut être automatisé.