Files
pdf2csv/README.md
2025-08-09 01:04:45 +02:00

72 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📄 pdf2csv
Convertisseur de fichiers **PDF** en **CSV** basé sur [tabula-py](https://github.com/chezou/tabula-py) et [pandas](https://pandas.pydata.org/), 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](https://paheko.cloud/) outil de gestion d'association ou petites entreprises.
---
## 🚀 Fonctionnalités du script
Le script `convert.py` :
1. **Extraction**
- Utilise `tabula-py` pour extraire les tableaux depuis tous les fichiers PDF du dossier `/data`.
- Supporte les PDFs multi-pages.
2. **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 dentête répétée).
- Supprime **la ligne contenant `Total des mouvements` ainsi que toutes celles qui suivent**.
3. **Fusion des documents**
- Fusionne tous les CSV générés en **un seul fichier final**.
- Ajoute **en première ligne** du fichier final len-tête `date` (récupéré du premier tableau traité).
4. **Formatage des valeurs**
- Supprime tous les **points `.`** dans les deux dernières colonnes (pour nettoyer les séparateurs de milliers dans les montants).
5. **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 :
```bash
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
```bash
mkdir mondossier
```
- copier les fichiers .pdf à convertir dans ce même dossier.
- en ligne de commande, se placer dans le dossier.
```bash
cd mondossier
```
- lancer la commande suivante pour lancer le docker, et convertir tous les fichiers .pdf
```bash
docker run --rm -v "$(pwd)":/data pdf2csv:latest
```
### Remarques :
Lors de la conversion, le script produit deux fichiers .csv par fichier .pdf
```
*_brut.csv
*_final.csv
```
Puis tous les fichiers `_final.csv` sont concaténés en un seul fichier `fusion_total.csv`