5 Commits

Author SHA1 Message Date
b15b059e2a Add debug 2023-12-27 19:58:12 +01:00
48e75358ac Fix: remove index in excel outputs 2023-10-05 15:22:14 +02:00
132e37267b Feat: logging and option about overwritting 2023-10-05 15:19:16 +02:00
f2bcf6241a Fix: rebuild join_excel 2023-10-05 15:10:39 +02:00
ec9cc19be5 fix: remove when 2023-09-20 09:37:50 +02:00
4 changed files with 53 additions and 9 deletions

View File

@@ -27,7 +27,7 @@ steps:
environment: environment:
MATRIX_ROOMID: MATRIX_ROOMID:
from_secret: MATRIX_ROOMID from_secret: MATRIX_ROOMID
MATRIX_ACCESSTOKEN: MATRIX_ACCESSTOKEN:
from_secret: MATRIX_ACCESSTOKEN from_secret: MATRIX_ACCESSTOKEN
MATRIX_USERID: MATRIX_USERID:
from_secret: MATRIX_USERID from_secret: MATRIX_USERID
@@ -35,11 +35,6 @@ steps:
homeserver: https://matrix.poneyworld.net homeserver: https://matrix.poneyworld.net
template: "Une nouvelle version (${DRONE_TAG}) de pdf-oralia est publiée!" template: "Une nouvelle version (${DRONE_TAG}) de pdf-oralia est publiée!"
when:
event:
include:
- tag
# Déclencheur de la pipeline # Déclencheur de la pipeline
trigger: trigger:
event: event:

24
pdf_oralia/join.py Normal file
View File

@@ -0,0 +1,24 @@
import glob
import logging
import pandas as pd
def join_excel(src, dest, file_pattern):
"""Join every excel file in arc respecting file_pattern into on unique file in dist"""
filenames = list_files(src, file_pattern)
logging.debug(f"Concatenate {filenames}")
dfs = extract_dfs(filenames)
joined_df = pd.concat(dfs)
joined_df.to_excel(dest, index=False)
def list_files(src, file_glob):
return list(glob.iglob(f"{src}/{file_glob}"))
def extract_dfs(filenames):
dfs = []
for filename in filenames:
dfs.append(pd.read_excel(filename))
return dfs

View File

@@ -5,6 +5,7 @@ from pathlib import Path
import click import click
from .extract import extract_save from .extract import extract_save
from .join import join_excel
logging_config = dict( logging_config = dict(
version=1, version=1,
@@ -64,5 +65,29 @@ def all(src, dest):
@main.command() @main.command()
@click.option("--src", help="Tous les fichiers dans src", default="./") @click.option("--src", help="Tous les fichiers dans src", default="./")
@click.option("--dest", help="Où mettre les fichiers produits", default="") @click.option("--dest", help="Où mettre les fichiers produits", default="")
def join(src, dest): @click.option(
join_excel(src, dest, df_names=["charge", "locataire"]) "--force",
help="Ecraser si le ficher destination existe.",
default=False,
is_flag=True,
)
def join(src, dest, force):
"""Join tous les fichiers excel charge (resp locataire) de src dans un seul fichier charge.xlsx dans dist.
Exemple:
pdf-oralia join --src <dossier_source> --dest <dossier_destination>
"""
dest_charge = f"{dest}/charge.xlsx"
if not force and Path(dest_charge).exists():
raise ValueError(f"The file {dest_charge} already exists")
dest_locataire = f"{dest}/locataire.xlsx"
if not force and Path(dest_locataire).exists():
raise ValueError(f"The file {dest_locataire} already exists")
join_excel(src, dest_charge, "*_charge.xlsx")
logging.info(f"Les données charges ont été concaténées dans {dest_charge}")
join_excel(src, dest_locataire, "*_locataire.xlsx")
logging.info(f"Les données locataires ont été concaténées dans {dest_locataire}")

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "pdf-oralia" name = "pdf-oralia"
version = "dev" version = "0"
description = "" description = ""
authors = ["Bertrand Benjamin <benjamin.bertrand@opytex.org>"] authors = ["Bertrand Benjamin <benjamin.bertrand@opytex.org>"]
readme = "README.md" readme = "README.md"