import pandas as pd from flask import Flask, render_template, request from download_digital import construct_dataframe app = Flask(__name__) @app.route("/") def tables( url: str = "https://beschaeftigtenbefragung.verdi.de/", ): df = construct_dataframe( url=url, tag="bez_data_0", grouped=False, special_tag="stud", ) df_state = construct_dataframe( url=url, tag="bez_data_2", grouped=False, no_processing=True ) output_str = [] def _print_as_html(df: pd.DataFrame): df = df.astype({"Digitale Befragung": "Int32"}) with pd.option_context("display.max_rows", None): table = df.to_html( index_names=False, justify="left", index=False, classes="sortable dataframe", ) tfoot = [ " ", " Gesamt", ] for i in range(len(df.columns) - 2): tfoot.append(" ") tfoot.extend( [ f" {df['Digitale Befragung'].sum()}", " ", " ", ] ) tfoot = "\n".join(tfoot) idx = table.index("") output_str.append(table[: idx - 1]) output_str.append(tfoot) output_str.append(table[idx:]) _print_as_html(df_state) _print_as_html(df) return render_template("base.html", tables="\n".join(output_str)) if __name__ == "__main__": app.run()