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 [{}], []