bolster.utils.datatables ======================== .. py:module:: bolster.utils.datatables .. autoapi-nested-parse:: Generic utility for extracting DataTables data from HTML pages. Many Northern Ireland government statistics pages use R's flexdashboard/DT package to embed DataTables widgets. The data is stored as column-transposed JSON inside ``" ... ) >>> payload = _extract_datatables_payload(sample_html) >>> sorted(payload.keys()) ['container', 'data'] >>> len(payload["data"]) 2 >>> payload["data"][0] ['Belfast', 'Derry'] .. py:function:: datatables_to_dataframe(payload) Convert a DT widget payload into a row-oriented DataFrame. The ``payload["data"]`` field is a list of column arrays (column-transposed). This function transposes it into a normal row-oriented DataFrame and uses column names from ``payload["container"]`` if available. :param payload: The ``x`` sub-dict from a DT widget JSON block, as returned by :func:`fetch_datatables_json`. :returns: DataFrame with one row per record and columns named from the HTML header. :raises DataTablesError: If ``payload["data"]`` is missing or malformed. .. rubric:: Example >>> payload = { ... "data": [["a", "b"], [1, 2]], ... "container": "
| Name | Value |
|---|