Tabulator

Tabulator#

This notebook displays a browsable table based on the .csv data base used for intake-esm.

import panel as pn
import pandas as pd
import os
os.makedirs("html",exist_ok=True)
pn.extension('tabulator')
data_base=pd.read_csv("../scripts/conversion/dkrz_era5_disk.csv.gz")
data_base["variable-long_names"].apply(lambda s: eval)
data_base.loc[data_base["variable-long_names"].isna(),"variable-long_names"]="'Not set'"
drs="levelType_dataType_frequency"
for entry in drs.split('_'):
    data_base.loc[data_base[entry].isna(),entry]="'Not set'"

data_base["variable-long_names"]=data_base["variable-long_names"].apply(lambda f: eval(f))
data_base["catalog_entry"]=data_base["levelType"]+'.'+data_base["dataType"]+'.'+ data_base["frequency"]
data_base=data_base.explode("variable-long_names",ignore_index=True)
tabu=pn.widgets.Tabulator(
    data_base[drs.split('_')+["variable-long_names", "catalog_entry"]],
    show_index = False,
    header_filters=True,
    widths={"variable-long_names":200,"catalog_entry":150},
    selectable=1,
    pagination ="local",
    page_size =20
)
tabu.save("html/tabulator.html")
tabu