Ejemplo n.º 1
0
def on_update_store_original_update_columns_original_configuration_data(
    original_df_json,
):
    """Tab:Columns, Section: Original Configuration"""
    original_df = from_session(original_df_json)
    columns_data = get_dt_colunas_data(original_df)
    return get_table_dfcolumns(columns_data, id="origin", df=original_df)
Ejemplo n.º 2
0
def on_change_modified_df_update_columns_result_configuration(modified_df_json, data):
    """Show the modified columns in the Result configuration"""
    if not data:
        raise PreventUpdate

    modified_df = from_session(modified_df_json)

    return get_table_dfcolumns(data, id="new", df=modified_df)
Ejemplo n.º 3
0
def on_update_content_on_state_update_modified_df(original_df_json, data):
    """Change the data of the Store for modified df"""
    if not data:
        raise PreventUpdate

    original_df = from_session(original_df_json)
    modified_df = modify_original_df(original_df, data)
    return to_session(modified_df)
Ejemplo n.º 4
0
def on_add_filter_update_table_data(filter_data, modified_df_json):

    df = pd.DataFrame()
    if modified_df_json:
        df = from_session(modified_df_json)

    if not df.empty and filter_data:

        for filter_row in filter_data:
            print(
                f"FILTRANDO: {filter_row['field']}->{filter_row['comp']}->{filter_row['value']}"
            )
            typed_value = value_as_type(df, filter_row["field"], filter_row["value"])
            if filter_row["comp"] == "eq":
                df = df[df[filter_row["field"]] == typed_value]
            if filter_row["comp"] == "ne":
                df = df[df[filter_row["field"]] != typed_value]
            if filter_row["comp"] == "gt":
                df = df[df[filter_row["field"]] > typed_value]
            if filter_row["comp"] == "ge":
                df = df[df[filter_row["field"]] >= typed_value]
            if filter_row["comp"] == "lt":
                df = df[df[filter_row["field"]] < typed_value]
            if filter_row["comp"] == "le":
                df = df[df[filter_row["field"]] <= typed_value]
            if filter_row["comp"] == "isnull":
                df = df[df[filter_row["field"]].isna()]
            if filter_row["comp"] == "notnull":
                df = df[df[filter_row["field"]].notna()]
            if filter_row["comp"] == "between":

                if ";" in typed_value:
                    start, end = typed_value.split(";")
                    start = value_as_type(df, filter_row["field"], start)
                    end = value_as_type(df, filter_row["field"], end)
                    df = df[df[filter_row["field"]].between(start, end)]

            if filter_row["comp"] == "contains":
                try:
                    df = df[df[filter_row["field"]].str.contains(typed_value)]
                except AttributeError:
                    print("Error using contains in numeric column")

    return df.to_dict("records") if df is not None else []
Ejemplo n.º 5
0
def on_change_modified_df_state_update_information_columns(df_json, info_column):
    """Show information when column dropdown, in Information tab is changed."""
    info_children = []

    if df_json and info_column != "-":
        df = from_session(df_json)

        dados = df[info_column]

        if is_numeric_dtype(dados):
            info_children = get_numeric_information_gui(dados, info_column)
        elif is_string_dtype(dados):
            info_children = get_string_information_gui(dados, info_column)
        # TODO: Mostrar mais tipos
        # elif is_bool_dtype(dados):
        #     info_children = get_bool_information_gui(dados, info_column)
        # elif is_datetime64_any_dtype(dados):
        #     info_children = get_datetime_information_gui(dados, info_column)

    return info_children
Ejemplo n.º 6
0
def on_update_modified_df_update_update_filterdata_gui(original_df_json):
    """Tab:Filter Data, Section: Fields and Data"""
    modified_df = from_session(original_df_json)
    return get_tab_filtering_components(modified_df)
Ejemplo n.º 7
0
def on_update_modified_df_update_informations_fields(original_df_json):
    """Tab:Information, Section: Combobox of column"""
    modified_df = from_session(original_df_json)
    return get_information_components(modified_df)
Ejemplo n.º 8
0
def on_update_store_original_show_sample_data(original_df_json):
    """Tab:Colunas, Section: Deal with the dataframe columns"""
    original_df = from_session(original_df_json)
    return get_dt_colunas_data(original_df)
Ejemplo n.º 9
0
def on_load_sample_file_update_store_original(original_df_json):
    """Tab:Data, Section: Table with first rows"""
    original_df = from_session(original_df_json)
    return get_sample_df_data_children(original_df)