Format values inclut le formatage des distances
This commit is contained in:
+2
-2
@@ -1,7 +1,7 @@
|
||||
import polars as pl
|
||||
from dash import dash_table, html
|
||||
|
||||
from utils import add_links_in_dict, format_montant, setup_table_columns
|
||||
from utils import add_links_in_dict, format_values, setup_table_columns
|
||||
|
||||
|
||||
def get_top_org_table(data, org_type: str):
|
||||
@@ -16,7 +16,7 @@ def get_top_org_table(data, org_type: str):
|
||||
dff_nb = dff_nb.sort(by="montant", descending=True)
|
||||
dff_nb = dff_nb.cast(pl.String)
|
||||
dff_nb = dff_nb.fill_null("")
|
||||
dff_nb = format_montant(dff_nb, column="montant")
|
||||
dff_nb = format_values(dff_nb)
|
||||
columns, tooltip = setup_table_columns(
|
||||
dff_nb, hideable=False, exclude=[f"{org_type}_id"]
|
||||
)
|
||||
|
||||
@@ -8,8 +8,8 @@ from src.figures import point_on_map
|
||||
from src.utils import (
|
||||
add_links_in_dict,
|
||||
df,
|
||||
format_montant,
|
||||
format_number,
|
||||
format_values,
|
||||
get_annuaire_data,
|
||||
get_departement_region,
|
||||
meta_content,
|
||||
@@ -215,8 +215,7 @@ def get_last_marches_table(data) -> html.Div:
|
||||
return html.Div(html.P("Aucun marché trouvé."))
|
||||
dff = dff.cast(pl.String)
|
||||
dff = dff.fill_null("")
|
||||
print("1", dff.columns)
|
||||
dff = format_montant(dff)
|
||||
dff = format_values(dff)
|
||||
columns, tooltip = setup_table_columns(
|
||||
dff,
|
||||
hideable=False,
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ import polars as pl
|
||||
from dash import Input, Output, callback, dcc, html, register_page
|
||||
from polars import selectors as cs
|
||||
|
||||
from src.utils import data_schema, df, format_montant, meta_content
|
||||
from src.utils import data_schema, df, format_values, meta_content
|
||||
|
||||
register_page(
|
||||
__name__,
|
||||
@@ -75,7 +75,7 @@ def get_marche_data(url) -> tuple[dict, list]:
|
||||
|
||||
# Données du marché
|
||||
dff_marche = lff.unique("uid").collect(engine="streaming")
|
||||
dff_marche = format_montant(dff_marche)
|
||||
dff_marche = format_values(dff_marche)
|
||||
|
||||
return dff_marche.to_dicts()[0], dff_titulaires.to_dicts()
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ from src.utils import (
|
||||
add_resource_link,
|
||||
df,
|
||||
filter_table_data,
|
||||
format_montant,
|
||||
format_number,
|
||||
format_values,
|
||||
get_default_hidden_columns,
|
||||
meta_content,
|
||||
setup_table_columns,
|
||||
@@ -208,7 +208,7 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp)
|
||||
dff = add_resource_link(dff)
|
||||
|
||||
# Formatage des montants
|
||||
dff = format_montant(dff)
|
||||
dff = format_values(dff)
|
||||
|
||||
columns, tooltip = setup_table_columns(dff)
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@ from src.figures import point_on_map
|
||||
from src.utils import (
|
||||
add_links_in_dict,
|
||||
df,
|
||||
format_montant,
|
||||
format_number,
|
||||
format_values,
|
||||
get_annuaire_data,
|
||||
get_departement_region,
|
||||
meta_content,
|
||||
@@ -227,7 +227,7 @@ def get_last_marches_table(data) -> html.Div:
|
||||
dff = pl.DataFrame(data)
|
||||
dff = dff.cast(pl.String)
|
||||
dff = dff.fill_null("")
|
||||
dff = format_montant(dff)
|
||||
dff = format_values(dff)
|
||||
columns, tooltip = setup_table_columns(
|
||||
dff, hideable=False, exclude=["acheteur_id", "id"]
|
||||
)
|
||||
|
||||
+13
-4
@@ -125,8 +125,8 @@ def format_number(number) -> str:
|
||||
return number
|
||||
|
||||
|
||||
def format_montant(dff: pl.DataFrame, column: str = "montant") -> pl.DataFrame:
|
||||
def format_function(expr, scale=None):
|
||||
def format_values(dff: pl.DataFrame) -> pl.DataFrame:
|
||||
def format_montant(expr, scale=None):
|
||||
# https://stackoverflow.com/a/78636786
|
||||
expr = expr.cast(pl.String)
|
||||
expr = expr.str.splitn(".", 2)
|
||||
@@ -156,8 +156,17 @@ def format_montant(dff: pl.DataFrame, column: str = "montant") -> pl.DataFrame:
|
||||
|
||||
return montant
|
||||
|
||||
print("3", dff.columns)
|
||||
dff = dff.with_columns(pl.col(column).pipe(format_function).alias(column))
|
||||
def format_distance(expr):
|
||||
expr = expr.cast(pl.String)
|
||||
return pl.concat_str(expr, pl.lit(" km"))
|
||||
|
||||
if "montant" in dff.columns:
|
||||
dff = dff.with_columns(pl.col("montant").pipe(format_montant).alias("montant"))
|
||||
if "distance" in dff.columns:
|
||||
dff = dff.with_columns(
|
||||
pl.col("distance").pipe(format_distance).alias("distance")
|
||||
)
|
||||
|
||||
return dff
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user