Convertir XLSX en CSV : 3 methodes rapides avec Excel et Python
Convertir un fichier Excel (.xlsx) en CSV est une opération courante avant l'import dans un logiciel de comptabilité, un CRM ou une base de données. Voici les méthodes les plus rapides selon votre configuration.
Méthode 1 — Enregistrer sous dans Excel (le plus simple)
Méthode 2 — Power Query (séparateur personnalisé)
Pour exporter avec un séparateur spécifique (tabulation, pipe |) ou convertir l'encodage, utilisez Power Query :
- Données > Obtenir des données > À partir d'un fichier > À partir d'un classeur
- Sélectionnez la feuille à exporter
- Dans l'éditeur Power Query : Accueil > Fermer et charger dans > Créer une connexion uniquement
- Dans la requête créée, clic droit > Charger dans > Tableau
- Puis Enregistrer sous > CSV
Méthode 3 — Ligne de commande Python (fichiers volumineux)
Pour convertir plusieurs fichiers .xlsx en CSV automatiquement :
import pandas as pd
df = pd.read_excel('fichier.xlsx', sheet_name=0)
df.to_csv('fichier.csv', index=False, encoding='utf-8-sig', sep=';')
L'encodage utf-8-sig ajoute un BOM (Byte Order Mark) pour que les accents s'affichent correctement à l'ouverture dans Excel.
Problèmes courants et solutions
Les accents s'affichent mal dans le fichier CSV
Problème d'encodage. Lors de l'enregistrement, choisissez "CSV UTF-8" et non "CSV" seul. Si vous ouvrez le CSV dans Excel ultérieurement, utilisez Données > Depuis un fichier texte/CSV et spécifiez l'encodage UTF-8.
Le séparateur n'est pas reconnu par le logiciel de destination
Excel français génère des CSV avec des point-virgules (;) car la virgule est le séparateur décimal. Si votre logiciel attend des virgules, vous devrez remplacer les point-virgules. Un simple Rechercher/Remplacer dans un éditeur texte (Notepad++, VS Code) suffit.
Seule la première feuille est exportée
C'est le comportement normal du format CSV : il ne peut contenir qu'une seule feuille. Si votre fichier Excel a plusieurs feuilles, vous devrez exporter chacune séparément ou utiliser un script Python pour générer un fichier CSV par feuille.