2.4 KiB
📄 pdf2csv
Convertisseur de fichiers PDF en CSV basé sur tabula-py et pandas, empaqueté dans une image Docker légère.
Il est conçu pour traiter automatiquement les relevés bancaires PDF du crédit mutuel, en appliquant des opérations de nettoyage et de fusion avant de produire un fichier CSV unique.
Ce fichier est parfaitement compatible pour de l'import d'écritures via l'outil rapprochement assisté de paheko outil de gestion d'association ou petites entreprises.
🚀 Fonctionnalités du script
Le script convert.py :
-
Extraction
- Utilise
tabula-pypour extraire les tableaux depuis tous les fichiers PDF du dossier/data. - Supporte les PDFs multi-pages.
- Utilise
-
Nettoyage des données
- Supprime les 3 premières lignes de chaque extrait, jusqu’à la ligne contenant
SOLDE. - Supprime toute ligne dont la première colonne contient
date(ligne d’entête répétée). - Supprime la ligne contenant
Total des mouvementsainsi que toutes celles qui suivent.
- Supprime les 3 premières lignes de chaque extrait, jusqu’à la ligne contenant
-
Fusion des documents
- Fusionne tous les CSV générés en un seul fichier final.
- Ajoute en première ligne du fichier final l’en-tête
date(récupéré du premier tableau traité).
-
Formatage des valeurs
- Supprime tous les points
.dans les deux dernières colonnes (pour nettoyer les séparateurs de milliers dans les montants).
- Supprime tous les points
-
Export
- Produit un fichier CSV unique propre, prêt à être utilisé dans un tableur ou un outil de gestion de budget.
📦 Construction de l'image
Clonez ce dépôt puis construisez l'image :
git clone https://gitea.example.org/monuser/pdf2csv.git
cd pdf2csv
docker build -t pdf2csv:latest .
📪 Lancer le docker et Convertir
- créer un dossier
mkdir mondossier
- copier les fichiers .pdf à convertir dans ce même dossier.
- en ligne de commande, se placer dans le dossier.
cd mondossier
- lancer la commande suivante pour lancer le docker, et convertir tous les fichiers .pdf
docker run --rm -v "$(pwd)":/data pdf2csv:latest
Sortie attendue
Lors de la conversion, le script produit deux fichiers .csv par fichier .pdf dans le dossier.
*_brut.csv
*_final.csv
Puis tous les fichiers _final.csv sont concaténés en un seul fichier fusion_total.csv