{ "cells": [ { "cell_type": "markdown", "id": "ad17e7c3-bfc9-4ae1-b01c-ad4051f570b3", "metadata": { "tags": [] }, "source": [ "# Tabulator\n", "\n", "This notebook displays a browsable table based on the `.csv` data base used for intake-esm." ] }, { "cell_type": "code", "execution_count": null, "id": "63931eac-e060-4efe-8430-2411f166a0ce", "metadata": { "tags": [] }, "outputs": [], "source": [ "import panel as pn\n", "import pandas as pd\n", "import os\n", "os.makedirs(\"html\",exist_ok=True)\n", "pn.extension('tabulator')" ] }, { "cell_type": "code", "execution_count": null, "id": "46535779-888c-4ef9-8d53-352be69a5b85", "metadata": { "tags": [] }, "outputs": [], "source": [ "data_base=pd.read_csv(\"../scripts/conversion/dkrz_era5_disk.csv.gz\")\n", "data_base[\"variable-long_names\"].apply(lambda s: eval)\n", "data_base.loc[data_base[\"variable-long_names\"].isna(),\"variable-long_names\"]=\"'Not set'\"\n", "drs=\"levelType_dataType_frequency\"\n", "for entry in drs.split('_'):\n", " data_base.loc[data_base[entry].isna(),entry]=\"'Not set'\"\n", "\n", "data_base[\"variable-long_names\"]=data_base[\"variable-long_names\"].apply(lambda f: eval(f))\n", "data_base[\"catalog_entry\"]=data_base[\"levelType\"]+'.'+data_base[\"dataType\"]+'.'+ data_base[\"frequency\"]\n", "data_base=data_base.explode(\"variable-long_names\",ignore_index=True)\n", "tabu=pn.widgets.Tabulator(\n", " data_base[drs.split('_')+[\"variable-long_names\", \"catalog_entry\"]],\n", " show_index = False,\n", " header_filters=True,\n", " widths={\"variable-long_names\":200,\"catalog_entry\":150},\n", " selectable=1,\n", " pagination =\"local\",\n", " page_size =20\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "23f39d25-d43c-41d3-a877-53a12004f9b1", "metadata": { "tags": [] }, "outputs": [], "source": [ "tabu.save(\"html/tabulator.html\")" ] }, { "cell_type": "code", "execution_count": null, "id": "e7cd7bfe-2234-4b8c-b934-02f661b60afe", "metadata": { "jupyter": { "outputs_hidden": true }, "tags": [] }, "outputs": [], "source": [ "tabu" ] }, { "cell_type": "code", "execution_count": null, "id": "5f01102d-dd23-4335-b203-898061a7d77c", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "dkrzcatalog", "language": "python", "name": "dkrzcatalog" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }