Upload xls, add some calculations and show results in Dash

Solution
@app.callback(
    [Output("table", "data"), Output("table", "columns")],
    [Input("upload-data", "contents"), Input("upload-data", "filename")],
)
def update_output(contents, filename):
    if contents is not None:
        df = parse_contents(contents, filename)
        # add some operations/calculations and show results
        if df is not None:
            return df.to_dict("records"), [{"name": i, "id": i} for i in df.columns]
        else:
            return [{}], []
    else:
        return [{}], []