{ "cells": [ { "cell_type": "markdown", "id": "55ad8ec9-9c0b-4a4b-b6dd-ebcc7d317ea1", "metadata": {}, "source": [ "# Teruel" ] }, { "cell_type": "code", "execution_count": 1, "id": "91cda0d4-8c9e-4469-96ed-c5fccac9632f", "metadata": {}, "outputs": [], "source": [ "import urllib.request, json\n", "import requests\n", "import pandas as pd" ] }, { "cell_type": "markdown", "id": "f3845c56-14c6-4a32-9327-e50bced7e271", "metadata": {}, "source": [ "# GetCount\n", "\n", "Análizamos el resultado de uno de los endpoints disponibles y vemos que existe un total de 100 datasets en Teruel." ] }, { "cell_type": "code", "execution_count": 2, "id": "48433cef-b0e3-45e4-965f-cdb3d6bbf277", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[100]\n" ] } ], "source": [ "get_count_uri = \"https://236ws.dpteruel.es/transparencia/dpteruel/open-data/api/v1/getCount\"\n", "r = requests.get(get_count_uri)\n", "total_dataset_count = r.json()['result']['results']\n", "print(total_dataset_count)" ] }, { "cell_type": "markdown", "id": "a50b8417-afdf-4654-8ae0-eb77723b6d77", "metadata": {}, "source": [ "# GetAll\n", "\n", "Hacemos una primera petición para obtener todos los datasets y ver con que podemos trabajar y descubrimos que de los 100 indicados en el apartado anterior tan solo vemos 8 resultados disponibles." ] }, { "cell_type": "code", "execution_count": 3, "id": "0ff9a360-0342-41c9-b505-5024e1c61d70", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(10, 7)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "get_all_uri = \"https://236ws.dpteruel.es/transparencia/dpteruel/open-data/api/v1/getAll\"\n", "r = requests.get(get_all_uri)\n", "all_datasets = r.json()['result']['results']\n", "all_datasets_df = pd.DataFrame.from_dict(all_datasets)\n", "all_datasets_df = all_datasets_df.set_index('id')\n", "all_datasets_df.shape" ] }, { "cell_type": "markdown", "id": "47f43bce-ff72-47dd-995d-95566b8b1a52", "metadata": {}, "source": [ "Como podemos ver tenemos los siguientes campos disponibles:" ] }, { "cell_type": "code", "execution_count": 4, "id": "96b32601-1c9d-419e-8bed-02d4d2d3f63b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['title', 'url', 'date', 'last_modified_date', 'categories',\n", " 'resources', 'tags'], dtype=object)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_datasets_df.columns.values" ] }, { "cell_type": "code", "execution_count": 5, "id": "c8facde8-168c-41f1-a441-a1f660e4d8cb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
titleurldatelast_modified_datecategoriesresourcestags
id
2751Informes periódicos de la ejecución de los pre...https://236ws.dpteruel.es/transparencia/dpteru...2021-05-05 10:39:022021-05-05 10:39:47[Economía][{'url': 'https://236ws.dpteruel.es/transparen...NaN
2744Liquidación del presupuesto del ejercicio ante...https://236ws.dpteruel.es/transparencia/dpteru...2021-05-05 10:29:342021-05-05 10:30:58[Economía][{'url': 'https://236ws.dpteruel.es/transparen...NaN
2741Presupuestos generales anuales - 2021https://236ws.dpteruel.es/transparencia/dpteru...2021-03-01 11:58:592021-03-01 12:01:30[Economía][{'url': 'https://236ws.dpteruel.es/transparen...NaN
2641Informes periódicos de la ejecución de los pre...https://236ws.dpteruel.es/transparencia/dpteru...2020-05-26 10:47:022021-02-23 11:47:31[Economía][{'url': 'https://236ws.dpteruel.es/transparen...NaN
2599Cumplimiento de los periodos de pago a proveed...https://236ws.dpteruel.es/transparencia/dpteru...2020-02-10 11:33:402021-01-25 11:34:32[Economía][{'url': 'Periodo Medio de Pago enero 2020', '...NaN
\n", "
" ], "text/plain": [ " title \\\n", "id \n", "2751 Informes periódicos de la ejecución de los pre... \n", "2744 Liquidación del presupuesto del ejercicio ante... \n", "2741 Presupuestos generales anuales - 2021 \n", "2641 Informes periódicos de la ejecución de los pre... \n", "2599 Cumplimiento de los periodos de pago a proveed... \n", "\n", " url date \\\n", "id \n", "2751 https://236ws.dpteruel.es/transparencia/dpteru... 2021-05-05 10:39:02 \n", "2744 https://236ws.dpteruel.es/transparencia/dpteru... 2021-05-05 10:29:34 \n", "2741 https://236ws.dpteruel.es/transparencia/dpteru... 2021-03-01 11:58:59 \n", "2641 https://236ws.dpteruel.es/transparencia/dpteru... 2020-05-26 10:47:02 \n", "2599 https://236ws.dpteruel.es/transparencia/dpteru... 2020-02-10 11:33:40 \n", "\n", " last_modified_date categories \\\n", "id \n", "2751 2021-05-05 10:39:47 [Economía] \n", "2744 2021-05-05 10:30:58 [Economía] \n", "2741 2021-03-01 12:01:30 [Economía] \n", "2641 2021-02-23 11:47:31 [Economía] \n", "2599 2021-01-25 11:34:32 [Economía] \n", "\n", " resources tags \n", "id \n", "2751 [{'url': 'https://236ws.dpteruel.es/transparen... NaN \n", "2744 [{'url': 'https://236ws.dpteruel.es/transparen... NaN \n", "2741 [{'url': 'https://236ws.dpteruel.es/transparen... NaN \n", "2641 [{'url': 'https://236ws.dpteruel.es/transparen... NaN \n", "2599 [{'url': 'Periodo Medio de Pago enero 2020', '... NaN " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_datasets_df.head()" ] }, { "cell_type": "markdown", "id": "0f4e19b4-9c06-4511-a91f-0db8715c1271", "metadata": {}, "source": [ "Si nos fijamos solamente en los titulos de los datasets, vemos que todos ellos hacen referencia a presupuestos." ] }, { "cell_type": "code", "execution_count": 6, "id": "15b4b28b-29f9-45de-9aa7-747bcedcf0fa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Informes periódicos de la ejecución de los presupuestos - Ejercicio 2021',\n", " 'Liquidación del presupuesto del ejercicio anterior (2020)',\n", " 'Presupuestos generales anuales - 2021',\n", " 'Informes periódicos de la ejecución de los presupuestos - Ejercicio 2020',\n", " 'Cumplimiento de los periodos de pago a proveedores - Ejercicio 2020',\n", " 'Modificaciones presupuestarias aprobadas - Ejercicio 2020',\n", " 'Inversión financieramente sostenible 2020 a financiar con el superávit presupuestario de la Liquidación del Presupuesto de 2019',\n", " 'Liquidación del presupuesto del ejercicio anterior (2019)',\n", " 'Plan presupuestario a medio plazo (2021-2023) de la Diputación Provincial de Teruel',\n", " 'Plan estratégico de subvenciones 2020-2023']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_datasets_df.title.to_list()" ] }, { "cell_type": "code", "execution_count": 7, "id": "21b882a5-1bf1-4d9c-8585-8d4405d345ec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "id\n", "2751 [Economía]\n", "2744 [Economía]\n", "2741 [Economía]\n", "2641 [Economía]\n", "2599 [Economía]\n", "2613 [Economía]\n", "2690 [Economía]\n", "2647 [Economía]\n", "2638 [Economía]\n", "2607 [Plan estratégico]\n", "Name: categories, dtype: object" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_datasets_df.categories" ] }, { "cell_type": "code", "execution_count": 8, "id": "fd50c044-baa5-4eed-bd6c-ffcd315a5c8e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "id\n", "2751 NaN\n", "2744 NaN\n", "2741 NaN\n", "2641 NaN\n", "2599 NaN\n", "2613 NaN\n", "2690 NaN\n", "2647 NaN\n", "2638 NaN\n", "2607 [plan estratégico, subvenciones]\n", "Name: tags, dtype: object" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_datasets_df.tags" ] }, { "cell_type": "markdown", "id": "98c8f7b4-482c-4755-9c3e-2c1af0955897", "metadata": {}, "source": [ "# Recursos disponibles\n", "\n", "Si creamos un dataset con los recursos de todos los conjuntos de datos disponibles vemosque tenemos un total de 54 a nuestra dispocición. Algo que dista mucho de los 100 que nos habían indicado al inicio." ] }, { "cell_type": "code", "execution_count": 9, "id": "e5769125-1270-44c4-a8e5-04de01f99a6a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'url': 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/P4400000H-2021-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-1T.xml',\n", " 'description': 'Informe de ejecución del presupuesto de la Diputación, 1er. trimestre 2021',\n", " 'title': 'Informe de ejecución del presupuesto de la Diputación, 1er. trimestre 2021',\n", " 'format': 'XML'},\n", " {'url': 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/G44010965-2021-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-1T.xml',\n", " 'description': 'Informe de ejecución del presupuesto del Instituto de Estudios Turolenses, 1er. trimestre 2021',\n", " 'title': 'Informe de ejecución del presupuesto del Instituto de Estudios Turolenses, 1er. trimestre 2021',\n", " 'format': 'XML'}]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "columns = ['title', 'categories', 'tags', 'resources']\n", "all_datasets_df = all_datasets_df[columns]\n", "all_datasets_df['tags'] = all_datasets_df['tags'].apply(lambda d: d if isinstance(d, list) else [])\n", "all_datasets_df.resources.to_list()[0]" ] }, { "cell_type": "code", "execution_count": 10, "id": "8fe69537-043b-40e2-822e-cbddb937562c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(54, 4)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resources = all_datasets_df.resources.to_list()\n", "resources_df = pd.DataFrame(columns=['url', 'description', 'title', 'format'])\n", "for dataset_resources in resources:\n", " resources_df = resources_df.append(dataset_resources, ignore_index=True)\n", "\n", "resources_df.shape" ] }, { "cell_type": "markdown", "id": "917c7137-ab13-41e5-b47b-fbc2c8bb62e1", "metadata": {}, "source": [ "Si vemos los formatos disponibles, veremos que tan solo hay tres posibilidades y uno desconocido." ] }, { "cell_type": "code", "execution_count": 11, "id": "0032ef81-0d78-4f7f-95fb-b26c5fe107b6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['XML', 'TXT', None, 'PDF'], dtype=object)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resources_df.format.unique()" ] }, { "cell_type": "markdown", "id": "f1bdb1c2-b36f-4132-b398-ed17c7dbcaff", "metadata": {}, "source": [ "# TXT\n", "\n", "Si miramos los recursos en formato TXT vemos que los resultados son comprensibles y puede que transladables a un dataFrame, parece una salidad de una consulta de SQL." ] }, { "cell_type": "code", "execution_count": 12, "id": "51b7c9c8-952b-4e48-9cf0-23cadd8a4c1e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/MINHAP-PRIMER-TRIMESTRE-DPT-2020-1T.txt',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/MINHAP-SEGUNDO-TRIMESTRE-DPT-2020-2T.txt',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/MINHAP-SEGUNDO-TRIMESTRE-DPT-2020-3T.txt']" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resources_df[resources_df.format == 'TXT'].url.to_list()" ] }, { "cell_type": "markdown", "id": "3a997709-1f11-4331-b31f-d5b633e23a11", "metadata": {}, "source": [ "# XML" ] }, { "cell_type": "code", "execution_count": 13, "id": "51288663-cd55-42ea-828c-c317d8ff3685", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/P4400000H-2021-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-1T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/G44010965-2021-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-1T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/liq-ptto-anterior-2020/P4400000H-2020-LIQUIDACION-PRESUPUESTOS.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/liq-ptto-anterior-2020/G44010965-2020-LIQUIDACION-PRESUPUESTOS.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ppto-2021/PPTO-2021-DPT-PENLOC.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ppto-2021/PPTO-2021-IET-PENLOC.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/P4400000H-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-1T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/G44010965-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-1T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/P4400000H-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-2T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/G44010965-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-2T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/P4400000H-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-3T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/G44010965-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-3T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/P4400000H-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-4T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/ejec-presu/G44010965-2020-LIQUIDACION-TRIMESTRAL-PRESUPUESTOS-3T.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/liq-ptto-anterior-2019/P4400000H-2019-LIQUIDACION-PRESUPUESTOS.xml',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/liq-ptto-anterior-2019/G44010965-2019-LIQUIDACION-PRESUPUESTOS.xml']" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resources_df[resources_df.format == 'XML'].url.to_list()" ] }, { "cell_type": "markdown", "id": "22597520-48b6-4be4-a4f8-9b1994f40f95", "metadata": {}, "source": [ "# PDF" ] }, { "cell_type": "code", "execution_count": 14, "id": "c4b76265-90e7-469e-9dd6-1baccc383cc6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-01-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-02-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-03-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-04-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-05-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-06-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-07-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-08-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-09-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-10-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-11-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-12-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-13-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/modif-ppto/EXPTE-MODIF-CTO-14-2020-DPT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/INF-INV-FIN-SOST-SUPERAVIT.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/liq-ptto-anterior-2019/P4400000H-2019-LIQUIDACION-PRESUPUESTOS.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/liq-ptto-anterior-2019/G44010965-2019-LIQUIDACION-PRESUPUESTOS.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/economia/PLAN-PRESUPUESTARIO-DPT-2021-2023.pdf',\n", " 'https://236ws.dpteruel.es/transparencia/dpteruel/recurso/legislacion-justicia/PES 2020-2023TextoConsolidado.pdf']" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resources_df[resources_df.format == 'PDF'].url.to_list()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.9.6" }, "toc-showcode": false, "toc-showmarkdowntxt": true }, "nbformat": 4, "nbformat_minor": 5 }