From d1556c973736c9f4f1d9bb6ce01e70160cf67ca4 Mon Sep 17 00:00:00 2001 From: krouw Date: Fri, 10 Jan 2025 23:02:43 +0000 Subject: [PATCH 01/13] add json array structure --- packages/data/process.ipynb | 4631 +++++++++++++++++++++++++++++++---- 1 file changed, 4121 insertions(+), 510 deletions(-) diff --git a/packages/data/process.ipynb b/packages/data/process.ipynb index 98625da..f73902a 100644 --- a/packages/data/process.ipynb +++ b/packages/data/process.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Chile datos territoriales" + "# Chile Consolidación de Datos territoriales" ] }, { @@ -14,59 +14,638 @@ "outputs": [], "source": [ "import pandas as pd\n", - "\n", - "\n", - "def apply_replacements(text, replacements):\n", - " for wrong, correct in replacements.items():\n", - " text = text.replace(wrong, correct)\n", - " return text" + "import json\n", + "import unittest" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Extración" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Carga de DataFrames" + "### Listado y Nombre de Regiones según la Ley 21.074 del 2018" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
códigonombre
015Región de Arica y Parinacota
101Región de Tarapacá
202Región de Antofagasta
303Región de Atacama
404Región de Coquimbo
505Región de Valparaíso
613Región Metropolitana de Santiago
706Región del Libertador General Bernardo O'Higgins
807Región del Maule
916Región de Ñuble
1008Región del Biobío
1109Región de La Araucanía
1214Región de Los Ríos
1310Región de Los Lagos
1411Región Aysén del General Carlos Ibáñez del Campo
1512Región de Magallanes y de la Antártica Chilena
\n", + "
" + ], + "text/plain": [ + " código nombre\n", + "0 15 Región de Arica y Parinacota\n", + "1 01 Región de Tarapacá\n", + "2 02 Región de Antofagasta\n", + "3 03 Región de Atacama\n", + "4 04 Región de Coquimbo\n", + "5 05 Región de Valparaíso\n", + "6 13 Región Metropolitana de Santiago\n", + "7 06 Región del Libertador General Bernardo O'Higgins\n", + "8 07 Región del Maule\n", + "9 16 Región de Ñuble\n", + "10 08 Región del Biobío\n", + "11 09 Región de La Araucanía\n", + "12 14 Región de Los Ríos\n", + "13 10 Región de Los Lagos\n", + "14 11 Región Aysén del General Carlos Ibáñez del Campo\n", + "15 12 Región de Magallanes y de la Antártica Chilena" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ley_regiones_df = pd.read_csv(\"sources/ley-regiones.csv\", dtype=str)\n", - "\n", "ley_regiones_df" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Consolidado de Regiones, Provincias y Comunas hasta el 2018" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "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", + " \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", + "
Código RegiónNombre RegiónAbreviatura RegiónCódigo ProvinciaNombre ProvinciaCódigo Comuna 2018Nombre Comuna
001TarapacáTPCA011Iquique01101Iquique
101TarapacáTPCA011Iquique01107Alto Hospicio
201TarapacáTPCA014Tamarugal01401Pozo Almonte
301TarapacáTPCA014Tamarugal01402Camiña
401TarapacáTPCA014Tamarugal01403Colchane
........................
34116ÑubleNUBLE163Punilla16301San Carlos
34216ÑubleNUBLE163Punilla16302Coihueco
34316ÑubleNUBLE163Punilla16303Ñiquén
34416ÑubleNUBLE163Punilla16304San Fabián
34516ÑubleNUBLE163Punilla16305San Nicolás
\n", + "

346 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " Código Región Nombre Región Abreviatura Región Código Provincia \\\n", + "0 01 Tarapacá TPCA 011 \n", + "1 01 Tarapacá TPCA 011 \n", + "2 01 Tarapacá TPCA 014 \n", + "3 01 Tarapacá TPCA 014 \n", + "4 01 Tarapacá TPCA 014 \n", + ".. ... ... ... ... \n", + "341 16 Ñuble NUBLE 163 \n", + "342 16 Ñuble NUBLE 163 \n", + "343 16 Ñuble NUBLE 163 \n", + "344 16 Ñuble NUBLE 163 \n", + "345 16 Ñuble NUBLE 163 \n", + "\n", + " Nombre Provincia Código Comuna 2018 Nombre Comuna \n", + "0 Iquique 01101 Iquique \n", + "1 Iquique 01107 Alto Hospicio \n", + "2 Tamarugal 01401 Pozo Almonte \n", + "3 Tamarugal 01402 Camiña \n", + "4 Tamarugal 01403 Colchane \n", + ".. ... ... ... \n", + "341 Punilla 16301 San Carlos \n", + "342 Punilla 16302 Coihueco \n", + "343 Punilla 16303 Ñiquén \n", + "344 Punilla 16304 San Fabián \n", + "345 Punilla 16305 San Nicolás \n", + "\n", + "[346 rows x 7 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "observatoriologistico_df = pd.read_csv(\"sources/observatoriologistico.csv\", dtype=str)\n", - "\n", "observatoriologistico_df" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Estandarización Internacional Territorial Chile" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Subdivision category3166-2 codeSubdivision nameLocal variantLanguage codeRomanization systemParent subdivision
0regionCL-AI*Aisén del General Carlos Ibañez del CampoAysén, AisénesNaNNaN
1regionCL-AN*AntofagastaNaNesNaNNaN
2regionCL-AP*Arica y ParinacotaNaNesNaNNaN
3regionCL-AT*AtacamaNaNesNaNNaN
4regionCL-BI*BiobíoNaNesNaNNaN
5regionCL-CO*CoquimboNaNesNaNNaN
6regionCL-AR*La AraucaníaNaNesNaNNaN
7regionCL-LI*Libertador General Bernardo O'HigginsO'HigginsesNaNNaN
8regionCL-LL*Los LagosNaNesNaNNaN
9regionCL-LR*Los RíosNaNesNaNNaN
10regionCL-MA*MagallanesNaNesNaNNaN
11regionCL-ML*MauleNaNesNaNNaN
12regionCL-RM*Región Metropolitana de SantiagoNaNesNaNNaN
13regionCL-TA*TarapacáNaNesNaNNaN
14regionCL-VS*ValparaísoNaNesNaNNaN
15regionCL-NB*ÑubleNaNesNaNNaN
\n", + "
" + ], + "text/plain": [ + " Subdivision category 3166-2 code \\\n", + "0 region CL-AI* \n", + "1 region CL-AN* \n", + "2 region CL-AP* \n", + "3 region CL-AT* \n", + "4 region CL-BI* \n", + "5 region CL-CO* \n", + "6 region CL-AR* \n", + "7 region CL-LI* \n", + "8 region CL-LL* \n", + "9 region CL-LR* \n", + "10 region CL-MA* \n", + "11 region CL-ML* \n", + "12 region CL-RM* \n", + "13 region CL-TA* \n", + "14 region CL-VS* \n", + "15 region CL-NB* \n", + "\n", + " Subdivision name Local variant Language code \\\n", + "0 Aisén del General Carlos Ibañez del Campo Aysén, Aisén es \n", + "1 Antofagasta NaN es \n", + "2 Arica y Parinacota NaN es \n", + "3 Atacama NaN es \n", + "4 Biobío NaN es \n", + "5 Coquimbo NaN es \n", + "6 La Araucanía NaN es \n", + "7 Libertador General Bernardo O'Higgins O'Higgins es \n", + "8 Los Lagos NaN es \n", + "9 Los Ríos NaN es \n", + "10 Magallanes NaN es \n", + "11 Maule NaN es \n", + "12 Región Metropolitana de Santiago NaN es \n", + "13 Tarapacá NaN es \n", + "14 Valparaíso NaN es \n", + "15 Ñuble NaN es \n", + "\n", + " Romanization system Parent subdivision \n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "5 NaN NaN \n", + "6 NaN NaN \n", + "7 NaN NaN \n", + "8 NaN NaN \n", + "9 NaN NaN \n", + "10 NaN NaN \n", + "11 NaN NaN \n", + "12 NaN NaN \n", + "13 NaN NaN \n", + "14 NaN NaN \n", + "15 NaN NaN " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "replacements = {\n", - " \"Aisén del General Carlos Ibañez del Campo\": \"Aysén del General Carlos Ibáñez del Campo\",\n", - " \"Magallanes\": \"Magallanes y de la Antártica Chilena\",\n", - " \"Región Metropolitana de Santiago\": \"Metropolitana de Santiago\",\n", - "}\n", "\n", "iso_df = pd.read_csv(\"sources/iso.csv\")\n", - "iso_df[\"corrected_name\"] = iso_df[\"Subdivision name\"].apply(\n", - " lambda x: apply_replacements(x, replacements)\n", - ")\n", "iso_df" ] }, @@ -79,10 +658,266 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Código RegiónNombre RegiónAbreviatura RegiónCódigo ProvinciaNombre ProvinciaCódigo Comuna 2018Nombre Comunacorrected_nameclean_iso_codecódigonombre
001TarapacáTPCA011Iquique01101IquiqueTarapacáCL-TA01Región de Tarapacá
101TarapacáTPCA011Iquique01107Alto HospicioTarapacáCL-TA01Región de Tarapacá
201TarapacáTPCA014Tamarugal01401Pozo AlmonteTarapacáCL-TA01Región de Tarapacá
301TarapacáTPCA014Tamarugal01402CamiñaTarapacáCL-TA01Región de Tarapacá
401TarapacáTPCA014Tamarugal01403ColchaneTarapacáCL-TA01Región de Tarapacá
....................................
34116ÑubleNUBLE163Punilla16301San CarlosÑubleCL-NB16Región de Ñuble
34216ÑubleNUBLE163Punilla16302CoihuecoÑubleCL-NB16Región de Ñuble
34316ÑubleNUBLE163Punilla16303ÑiquénÑubleCL-NB16Región de Ñuble
34416ÑubleNUBLE163Punilla16304San FabiánÑubleCL-NB16Región de Ñuble
34516ÑubleNUBLE163Punilla16305San NicolásÑubleCL-NB16Región de Ñuble
\n", + "

346 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " Código Región Nombre Región Abreviatura Región Código Provincia \\\n", + "0 01 Tarapacá TPCA 011 \n", + "1 01 Tarapacá TPCA 011 \n", + "2 01 Tarapacá TPCA 014 \n", + "3 01 Tarapacá TPCA 014 \n", + "4 01 Tarapacá TPCA 014 \n", + ".. ... ... ... ... \n", + "341 16 Ñuble NUBLE 163 \n", + "342 16 Ñuble NUBLE 163 \n", + "343 16 Ñuble NUBLE 163 \n", + "344 16 Ñuble NUBLE 163 \n", + "345 16 Ñuble NUBLE 163 \n", + "\n", + " Nombre Provincia Código Comuna 2018 Nombre Comuna corrected_name \\\n", + "0 Iquique 01101 Iquique Tarapacá \n", + "1 Iquique 01107 Alto Hospicio Tarapacá \n", + "2 Tamarugal 01401 Pozo Almonte Tarapacá \n", + "3 Tamarugal 01402 Camiña Tarapacá \n", + "4 Tamarugal 01403 Colchane Tarapacá \n", + ".. ... ... ... ... \n", + "341 Punilla 16301 San Carlos Ñuble \n", + "342 Punilla 16302 Coihueco Ñuble \n", + "343 Punilla 16303 Ñiquén Ñuble \n", + "344 Punilla 16304 San Fabián Ñuble \n", + "345 Punilla 16305 San Nicolás Ñuble \n", + "\n", + " clean_iso_code código nombre \n", + "0 CL-TA 01 Región de Tarapacá \n", + "1 CL-TA 01 Región de Tarapacá \n", + "2 CL-TA 01 Región de Tarapacá \n", + "3 CL-TA 01 Región de Tarapacá \n", + "4 CL-TA 01 Región de Tarapacá \n", + ".. ... ... ... \n", + "341 CL-NB 16 Región de Ñuble \n", + "342 CL-NB 16 Región de Ñuble \n", + "343 CL-NB 16 Región de Ñuble \n", + "344 CL-NB 16 Región de Ñuble \n", + "345 CL-NB 16 Región de Ñuble \n", + "\n", + "[346 rows x 11 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ + "def apply_replacements(text, replacements):\n", + " for wrong, correct in replacements.items():\n", + " text = text.replace(wrong, correct)\n", + " return text\n", + "\n", + "replacements = {\n", + " \"Aisén del General Carlos Ibañez del Campo\": \"Aysén del General Carlos Ibáñez del Campo\",\n", + " \"Magallanes\": \"Magallanes y de la Antártica Chilena\",\n", + " \"Región Metropolitana de Santiago\": \"Metropolitana de Santiago\",\n", + "}\n", + "iso_df[\"corrected_name\"] = iso_df[\"Subdivision name\"].apply(\n", + " lambda x: apply_replacements(x, replacements)\n", + ")\n", + "\n", "# Preprocesar iso_df para hacer la correspondencia más directa y limpiar el código ISO\n", "iso_df[\"clean_iso_code\"] = iso_df[\"3166-2 code\"].str.replace(\"*\", \"\")\n", "\n", @@ -106,14 +941,226 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Construcción de Regiones CSV" + "## Carga" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### CSV\n", + "#### Construcción de Regiones CSV" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "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", + " \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", + "
idnameshort_nameabbreviationiso_code
601Región de TarapacáTarapacáTPCACL-TA
1502Región de AntofagastaAntofagastaANTOFCL-AN
2403Región de AtacamaAtacamaATCMACL-AT
3904Región de CoquimboCoquimboCOQCL-CO
7705Región de ValparaísoValparaísoVALPOCL-VS
11006Región del Libertador General Bernardo O'HigginsLibertador General Bernardo O'HigginsLGBOCL-LI
14007Región del MauleMauleMAULECL-ML
17308Región del BiobíoBiobíoBBIOCL-BI
20509Región de La AraucaníaLa AraucaníaARAUCCL-AR
23510Región de Los LagosLos LagosLAGOSCL-LL
24511Región Aysén del General Carlos Ibáñez del CampoAysén del General Carlos Ibáñez del CampoAYSENCL-AI
25612Región de Magallanes y de la Antártica ChilenaMagallanes y de la Antártica ChilenaMAGCL-MA
30813Región Metropolitana de SantiagoMetropolitana de SantiagoRMCL-RM
32014Región de Los RíosLos RíosRIOSCL-LR
32415Región de Arica y ParinacotaArica y ParinacotaAyPCL-AP
34516Región de ÑubleÑubleNUBLECL-NB
\n", + "
" + ], + "text/plain": [ + " id name \\\n", + "6 01 Región de Tarapacá \n", + "15 02 Región de Antofagasta \n", + "24 03 Región de Atacama \n", + "39 04 Región de Coquimbo \n", + "77 05 Región de Valparaíso \n", + "110 06 Región del Libertador General Bernardo O'Higgins \n", + "140 07 Región del Maule \n", + "173 08 Región del Biobío \n", + "205 09 Región de La Araucanía \n", + "235 10 Región de Los Lagos \n", + "245 11 Región Aysén del General Carlos Ibáñez del Campo \n", + "256 12 Región de Magallanes y de la Antártica Chilena \n", + "308 13 Región Metropolitana de Santiago \n", + "320 14 Región de Los Ríos \n", + "324 15 Región de Arica y Parinacota \n", + "345 16 Región de Ñuble \n", + "\n", + " short_name abbreviation iso_code \n", + "6 Tarapacá TPCA CL-TA \n", + "15 Antofagasta ANTOF CL-AN \n", + "24 Atacama ATCMA CL-AT \n", + "39 Coquimbo COQ CL-CO \n", + "77 Valparaíso VALPO CL-VS \n", + "110 Libertador General Bernardo O'Higgins LGBO CL-LI \n", + "140 Maule MAULE CL-ML \n", + "173 Biobío BBIO CL-BI \n", + "205 La Araucanía ARAUC CL-AR \n", + "235 Los Lagos LAGOS CL-LL \n", + "245 Aysén del General Carlos Ibáñez del Campo AYSEN CL-AI \n", + "256 Magallanes y de la Antártica Chilena MAG CL-MA \n", + "308 Metropolitana de Santiago RM CL-RM \n", + "320 Los Ríos RIOS CL-LR \n", + "324 Arica y Parinacota AyP CL-AP \n", + "345 Ñuble NUBLE CL-NB " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Seleccionar y renombrar las columnas necesarias para el DataFrame final\n", "regions_df = merged_df[\n", @@ -132,14 +1179,446 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Construcción de Provincias CSV" + "#### Construcción de Provincias CSV" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + " \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", + " \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", + "
idnameregion_id
1011Iquique01
6014Tamarugal01
10021Antofagasta02
13022El Loa02
15023Tocopilla02
18031Copiapó03
20032Chañaral03
24033Huasco03
30041Elqui04
34042Choapa04
39043Limarí04
46051Valparaíso05
47052Isla de Pascua05
51053Los Andes05
56054Petorca05
61055Quillota05
67056San Antonio05
73057San Felipe de Aconcagua05
77058Marga Marga05
94061Cachapoal06
100062Cardenal Caro06
110063Colchagua06
120071Talca07
123072Cauquenes07
132073Curicó07
140074Linares07
152081Concepción08
159082Arauco08
173083Biobío08
194091Cautín09
205092Malleco09
214101Llanquihue10
224102Chiloé10
231103Osorno10
235104Palena10
237111Coyhaique11
240112Aysén11
243113Capitán Prat11
245114General Carrera11
249121Magallanes12
251122Antártica Chilena12
254123Tierra del Fuego12
256124Última Esperanza12
288131Santiago13
291132Cordillera13
294133Chacabuco13
298134Maipo13
303135Melipilla13
308136Talagante13
316141Valdivia14
320142Ranco14
322151Arica15
324152Parinacota15
333161Diguillín16
340162Itata16
345163Punilla16
\n", + "
" + ], + "text/plain": [ + " id name region_id\n", + "1 011 Iquique 01\n", + "6 014 Tamarugal 01\n", + "10 021 Antofagasta 02\n", + "13 022 El Loa 02\n", + "15 023 Tocopilla 02\n", + "18 031 Copiapó 03\n", + "20 032 Chañaral 03\n", + "24 033 Huasco 03\n", + "30 041 Elqui 04\n", + "34 042 Choapa 04\n", + "39 043 Limarí 04\n", + "46 051 Valparaíso 05\n", + "47 052 Isla de Pascua 05\n", + "51 053 Los Andes 05\n", + "56 054 Petorca 05\n", + "61 055 Quillota 05\n", + "67 056 San Antonio 05\n", + "73 057 San Felipe de Aconcagua 05\n", + "77 058 Marga Marga 05\n", + "94 061 Cachapoal 06\n", + "100 062 Cardenal Caro 06\n", + "110 063 Colchagua 06\n", + "120 071 Talca 07\n", + "123 072 Cauquenes 07\n", + "132 073 Curicó 07\n", + "140 074 Linares 07\n", + "152 081 Concepción 08\n", + "159 082 Arauco 08\n", + "173 083 Biobío 08\n", + "194 091 Cautín 09\n", + "205 092 Malleco 09\n", + "214 101 Llanquihue 10\n", + "224 102 Chiloé 10\n", + "231 103 Osorno 10\n", + "235 104 Palena 10\n", + "237 111 Coyhaique 11\n", + "240 112 Aysén 11\n", + "243 113 Capitán Prat 11\n", + "245 114 General Carrera 11\n", + "249 121 Magallanes 12\n", + "251 122 Antártica Chilena 12\n", + "254 123 Tierra del Fuego 12\n", + "256 124 Última Esperanza 12\n", + "288 131 Santiago 13\n", + "291 132 Cordillera 13\n", + "294 133 Chacabuco 13\n", + "298 134 Maipo 13\n", + "303 135 Melipilla 13\n", + "308 136 Talagante 13\n", + "316 141 Valdivia 14\n", + "320 142 Ranco 14\n", + "322 151 Arica 15\n", + "324 152 Parinacota 15\n", + "333 161 Diguillín 16\n", + "340 162 Itata 16\n", + "345 163 Punilla 16" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "provinces_df = observatoriologistico_df[\n", " [\"Código Provincia\", \"Nombre Provincia\", \"Código Región\"]\n", @@ -156,14 +1635,134 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Construcción de Comunas CSV" + "#### Construcción de Comunas CSV" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "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", + " \n", + " \n", + "
idnameprovince_id
001101Iquique011
101107Alto Hospicio011
201401Pozo Almonte014
301402Camiña014
401403Colchane014
............
34116301San Carlos163
34216302Coihueco163
34316303Ñiquén163
34416304San Fabián163
34516305San Nicolás163
\n", + "

346 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id name province_id\n", + "0 01101 Iquique 011\n", + "1 01107 Alto Hospicio 011\n", + "2 01401 Pozo Almonte 014\n", + "3 01402 Camiña 014\n", + "4 01403 Colchane 014\n", + ".. ... ... ...\n", + "341 16301 San Carlos 163\n", + "342 16302 Coihueco 163\n", + "343 16303 Ñiquén 163\n", + "344 16304 San Fabián 163\n", + "345 16305 San Nicolás 163\n", + "\n", + "[346 rows x 3 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "communes_df = observatoriologistico_df[\n", " [\"Código Comuna 2018\", \"Nombre Comuna\", \"Código Provincia\"]\n", @@ -178,17 +1777,1898 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Construcción de JSON" + "## JSON" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Datos Territoriales como objeto JSON" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"country\": \"Chile\",\n", + " \"regions\": {\n", + " \"01\": {\n", + " \"id\": \"01\",\n", + " \"name\": \"Región de Tarapacá\",\n", + " \"short_name\": \"Tarapacá\",\n", + " \"abbreviation\": \"TPCA\",\n", + " \"iso_code\": \"CL-TA\",\n", + " \"provinces\": {\n", + " \"011\": {\n", + " \"id\": \"011\",\n", + " \"name\": \"Iquique\",\n", + " \"communes\": {\n", + " \"01101\": {\n", + " \"id\": \"01101\",\n", + " \"name\": \"Iquique\"\n", + " },\n", + " \"01107\": {\n", + " \"id\": \"01107\",\n", + " \"name\": \"Alto Hospicio\"\n", + " }\n", + " }\n", + " },\n", + " \"014\": {\n", + " \"id\": \"014\",\n", + " \"name\": \"Tamarugal\",\n", + " \"communes\": {\n", + " \"01401\": {\n", + " \"id\": \"01401\",\n", + " \"name\": \"Pozo Almonte\"\n", + " },\n", + " \"01402\": {\n", + " \"id\": \"01402\",\n", + " \"name\": \"Camiña\"\n", + " },\n", + " \"01403\": {\n", + " \"id\": \"01403\",\n", + " \"name\": \"Colchane\"\n", + " },\n", + " \"01404\": {\n", + " \"id\": \"01404\",\n", + " \"name\": \"Huara\"\n", + " },\n", + " \"01405\": {\n", + " \"id\": \"01405\",\n", + " \"name\": \"Pica\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"02\": {\n", + " \"id\": \"02\",\n", + " \"name\": \"Región de Antofagasta\",\n", + " \"short_name\": \"Antofagasta\",\n", + " \"abbreviation\": \"ANTOF\",\n", + " \"iso_code\": \"CL-AN\",\n", + " \"provinces\": {\n", + " \"021\": {\n", + " \"id\": \"021\",\n", + " \"name\": \"Antofagasta\",\n", + " \"communes\": {\n", + " \"02101\": {\n", + " \"id\": \"02101\",\n", + " \"name\": \"Antofagasta\"\n", + " },\n", + " \"02102\": {\n", + " \"id\": \"02102\",\n", + " \"name\": \"Mejillones\"\n", + " },\n", + " \"02103\": {\n", + " \"id\": \"02103\",\n", + " \"name\": \"Sierra Gorda\"\n", + " },\n", + " \"02104\": {\n", + " \"id\": \"02104\",\n", + " \"name\": \"Taltal\"\n", + " }\n", + " }\n", + " },\n", + " \"022\": {\n", + " \"id\": \"022\",\n", + " \"name\": \"El Loa\",\n", + " \"communes\": {\n", + " \"02201\": {\n", + " \"id\": \"02201\",\n", + " \"name\": \"Calama\"\n", + " },\n", + " \"02202\": {\n", + " \"id\": \"02202\",\n", + " \"name\": \"Ollagüe\"\n", + " },\n", + " \"02203\": {\n", + " \"id\": \"02203\",\n", + " \"name\": \"San Pedro de Atacama\"\n", + " }\n", + " }\n", + " },\n", + " \"023\": {\n", + " \"id\": \"023\",\n", + " \"name\": \"Tocopilla\",\n", + " \"communes\": {\n", + " \"02301\": {\n", + " \"id\": \"02301\",\n", + " \"name\": \"Tocopilla\"\n", + " },\n", + " \"02302\": {\n", + " \"id\": \"02302\",\n", + " \"name\": \"María Elena\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"03\": {\n", + " \"id\": \"03\",\n", + " \"name\": \"Región de Atacama\",\n", + " \"short_name\": \"Atacama\",\n", + " \"abbreviation\": \"ATCMA\",\n", + " \"iso_code\": \"CL-AT\",\n", + " \"provinces\": {\n", + " \"031\": {\n", + " \"id\": \"031\",\n", + " \"name\": \"Copiapó\",\n", + " \"communes\": {\n", + " \"03101\": {\n", + " \"id\": \"03101\",\n", + " \"name\": \"Copiapó\"\n", + " },\n", + " \"03102\": {\n", + " \"id\": \"03102\",\n", + " \"name\": \"Caldera\"\n", + " },\n", + " \"03103\": {\n", + " \"id\": \"03103\",\n", + " \"name\": \"Tierra Amarilla\"\n", + " }\n", + " }\n", + " },\n", + " \"032\": {\n", + " \"id\": \"032\",\n", + " \"name\": \"Chañaral\",\n", + " \"communes\": {\n", + " \"03201\": {\n", + " \"id\": \"03201\",\n", + " \"name\": \"Chañaral\"\n", + " },\n", + " \"03202\": {\n", + " \"id\": \"03202\",\n", + " \"name\": \"Diego de Almagro\"\n", + " }\n", + " }\n", + " },\n", + " \"033\": {\n", + " \"id\": \"033\",\n", + " \"name\": \"Huasco\",\n", + " \"communes\": {\n", + " \"03301\": {\n", + " \"id\": \"03301\",\n", + " \"name\": \"Vallenar\"\n", + " },\n", + " \"03302\": {\n", + " \"id\": \"03302\",\n", + " \"name\": \"Alto del Carmen\"\n", + " },\n", + " \"03303\": {\n", + " \"id\": \"03303\",\n", + " \"name\": \"Freirina\"\n", + " },\n", + " \"03304\": {\n", + " \"id\": \"03304\",\n", + " \"name\": \"Huasco\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"04\": {\n", + " \"id\": \"04\",\n", + " \"name\": \"Región de Coquimbo\",\n", + " \"short_name\": \"Coquimbo\",\n", + " \"abbreviation\": \"COQ\",\n", + " \"iso_code\": \"CL-CO\",\n", + " \"provinces\": {\n", + " \"041\": {\n", + " \"id\": \"041\",\n", + " \"name\": \"Elqui\",\n", + " \"communes\": {\n", + " \"04101\": {\n", + " \"id\": \"04101\",\n", + " \"name\": \"La Serena\"\n", + " },\n", + " \"04102\": {\n", + " \"id\": \"04102\",\n", + " \"name\": \"Coquimbo\"\n", + " },\n", + " \"04103\": {\n", + " \"id\": \"04103\",\n", + " \"name\": \"Andacollo\"\n", + " },\n", + " \"04104\": {\n", + " \"id\": \"04104\",\n", + " \"name\": \"La Higuera\"\n", + " },\n", + " \"04105\": {\n", + " \"id\": \"04105\",\n", + " \"name\": \"Paiguano\"\n", + " },\n", + " \"04106\": {\n", + " \"id\": \"04106\",\n", + " \"name\": \"Vicuña\"\n", + " }\n", + " }\n", + " },\n", + " \"042\": {\n", + " \"id\": \"042\",\n", + " \"name\": \"Choapa\",\n", + " \"communes\": {\n", + " \"04201\": {\n", + " \"id\": \"04201\",\n", + " \"name\": \"Illapel\"\n", + " },\n", + " \"04202\": {\n", + " \"id\": \"04202\",\n", + " \"name\": \"Canela\"\n", + " },\n", + " \"04203\": {\n", + " \"id\": \"04203\",\n", + " \"name\": \"Los Vilos\"\n", + " },\n", + " \"04204\": {\n", + " \"id\": \"04204\",\n", + " \"name\": \"Salamanca\"\n", + " }\n", + " }\n", + " },\n", + " \"043\": {\n", + " \"id\": \"043\",\n", + " \"name\": \"Limarí\",\n", + " \"communes\": {\n", + " \"04301\": {\n", + " \"id\": \"04301\",\n", + " \"name\": \"Ovalle\"\n", + " },\n", + " \"04302\": {\n", + " \"id\": \"04302\",\n", + " \"name\": \"Combarbalá\"\n", + " },\n", + " \"04303\": {\n", + " \"id\": \"04303\",\n", + " \"name\": \"Monte Patria\"\n", + " },\n", + " \"04304\": {\n", + " \"id\": \"04304\",\n", + " \"name\": \"Punitaqui\"\n", + " },\n", + " \"04305\": {\n", + " \"id\": \"04305\",\n", + " \"name\": \"Río Hurtado\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"05\": {\n", + " \"id\": \"05\",\n", + " \"name\": \"Región de Valparaíso\",\n", + " \"short_name\": \"Valparaíso\",\n", + " \"abbreviation\": \"VALPO\",\n", + " \"iso_code\": \"CL-VS\",\n", + " \"provinces\": {\n", + " \"051\": {\n", + " \"id\": \"051\",\n", + " \"name\": \"Valparaíso\",\n", + " \"communes\": {\n", + " \"05101\": {\n", + " \"id\": \"05101\",\n", + " \"name\": \"Valparaíso\"\n", + " },\n", + " \"05102\": {\n", + " \"id\": \"05102\",\n", + " \"name\": \"Casablanca\"\n", + " },\n", + " \"05103\": {\n", + " \"id\": \"05103\",\n", + " \"name\": \"Concón\"\n", + " },\n", + " \"05104\": {\n", + " \"id\": \"05104\",\n", + " \"name\": \"Juan Fernández\"\n", + " },\n", + " \"05105\": {\n", + " \"id\": \"05105\",\n", + " \"name\": \"Puchuncaví\"\n", + " },\n", + " \"05107\": {\n", + " \"id\": \"05107\",\n", + " \"name\": \"Quintero\"\n", + " },\n", + " \"05109\": {\n", + " \"id\": \"05109\",\n", + " \"name\": \"Viña del Mar\"\n", + " }\n", + " }\n", + " },\n", + " \"052\": {\n", + " \"id\": \"052\",\n", + " \"name\": \"Isla de Pascua\",\n", + " \"communes\": {\n", + " \"05201\": {\n", + " \"id\": \"05201\",\n", + " \"name\": \"Isla de Pascua\"\n", + " }\n", + " }\n", + " },\n", + " \"053\": {\n", + " \"id\": \"053\",\n", + " \"name\": \"Los Andes\",\n", + " \"communes\": {\n", + " \"05301\": {\n", + " \"id\": \"05301\",\n", + " \"name\": \"Los Andes\"\n", + " },\n", + " \"05302\": {\n", + " \"id\": \"05302\",\n", + " \"name\": \"Calle Larga\"\n", + " },\n", + " \"05303\": {\n", + " \"id\": \"05303\",\n", + " \"name\": \"Rinconada\"\n", + " },\n", + " \"05304\": {\n", + " \"id\": \"05304\",\n", + " \"name\": \"San Esteban\"\n", + " }\n", + " }\n", + " },\n", + " \"054\": {\n", + " \"id\": \"054\",\n", + " \"name\": \"Petorca\",\n", + " \"communes\": {\n", + " \"05401\": {\n", + " \"id\": \"05401\",\n", + " \"name\": \"La Ligua\"\n", + " },\n", + " \"05402\": {\n", + " \"id\": \"05402\",\n", + " \"name\": \"Cabildo\"\n", + " },\n", + " \"05403\": {\n", + " \"id\": \"05403\",\n", + " \"name\": \"Papudo\"\n", + " },\n", + " \"05404\": {\n", + " \"id\": \"05404\",\n", + " \"name\": \"Petorca\"\n", + " },\n", + " \"05405\": {\n", + " \"id\": \"05405\",\n", + " \"name\": \"Zapallar\"\n", + " }\n", + " }\n", + " },\n", + " \"055\": {\n", + " \"id\": \"055\",\n", + " \"name\": \"Quillota\",\n", + " \"communes\": {\n", + " \"05501\": {\n", + " \"id\": \"05501\",\n", + " \"name\": \"Quillota\"\n", + " },\n", + " \"05502\": {\n", + " \"id\": \"05502\",\n", + " \"name\": \"Calera\"\n", + " },\n", + " \"05503\": {\n", + " \"id\": \"05503\",\n", + " \"name\": \"Hijuelas\"\n", + " },\n", + " \"05504\": {\n", + " \"id\": \"05504\",\n", + " \"name\": \"La Cruz\"\n", + " },\n", + " \"05506\": {\n", + " \"id\": \"05506\",\n", + " \"name\": \"Nogales\"\n", + " }\n", + " }\n", + " },\n", + " \"056\": {\n", + " \"id\": \"056\",\n", + " \"name\": \"San Antonio\",\n", + " \"communes\": {\n", + " \"05601\": {\n", + " \"id\": \"05601\",\n", + " \"name\": \"San Antonio\"\n", + " },\n", + " \"05602\": {\n", + " \"id\": \"05602\",\n", + " \"name\": \"Algarrobo\"\n", + " },\n", + " \"05603\": {\n", + " \"id\": \"05603\",\n", + " \"name\": \"Cartagena\"\n", + " },\n", + " \"05604\": {\n", + " \"id\": \"05604\",\n", + " \"name\": \"El Quisco\"\n", + " },\n", + " \"05605\": {\n", + " \"id\": \"05605\",\n", + " \"name\": \"El Tabo\"\n", + " },\n", + " \"05606\": {\n", + " \"id\": \"05606\",\n", + " \"name\": \"Santo Domingo\"\n", + " }\n", + " }\n", + " },\n", + " \"057\": {\n", + " \"id\": \"057\",\n", + " \"name\": \"San Felipe de Aconcagua\",\n", + " \"communes\": {\n", + " \"05701\": {\n", + " \"id\": \"05701\",\n", + " \"name\": \"San Felipe\"\n", + " },\n", + " \"05702\": {\n", + " \"id\": \"05702\",\n", + " \"name\": \"Catemu\"\n", + " },\n", + " \"05703\": {\n", + " \"id\": \"05703\",\n", + " \"name\": \"Llaillay\"\n", + " },\n", + " \"05704\": {\n", + " \"id\": \"05704\",\n", + " \"name\": \"Panquehue\"\n", + " },\n", + " \"05705\": {\n", + " \"id\": \"05705\",\n", + " \"name\": \"Putaendo\"\n", + " },\n", + " \"05706\": {\n", + " \"id\": \"05706\",\n", + " \"name\": \"Santa María\"\n", + " }\n", + " }\n", + " },\n", + " \"058\": {\n", + " \"id\": \"058\",\n", + " \"name\": \"Marga Marga\",\n", + " \"communes\": {\n", + " \"05801\": {\n", + " \"id\": \"05801\",\n", + " \"name\": \"Quilpué\"\n", + " },\n", + " \"05802\": {\n", + " \"id\": \"05802\",\n", + " \"name\": \"Limache\"\n", + " },\n", + " \"05803\": {\n", + " \"id\": \"05803\",\n", + " \"name\": \"Olmué\"\n", + " },\n", + " \"05804\": {\n", + " \"id\": \"05804\",\n", + " \"name\": \"Villa Alemana\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"06\": {\n", + " \"id\": \"06\",\n", + " \"name\": \"Región del Libertador General Bernardo O'Higgins\",\n", + " \"short_name\": \"Libertador General Bernardo O'Higgins\",\n", + " \"abbreviation\": \"LGBO\",\n", + " \"iso_code\": \"CL-LI\",\n", + " \"provinces\": {\n", + " \"061\": {\n", + " \"id\": \"061\",\n", + " \"name\": \"Cachapoal\",\n", + " \"communes\": {\n", + " \"06101\": {\n", + " \"id\": \"06101\",\n", + " \"name\": \"Rancagua\"\n", + " },\n", + " \"06102\": {\n", + " \"id\": \"06102\",\n", + " \"name\": \"Codegua\"\n", + " },\n", + " \"06103\": {\n", + " \"id\": \"06103\",\n", + " \"name\": \"Coinco\"\n", + " },\n", + " \"06104\": {\n", + " \"id\": \"06104\",\n", + " \"name\": \"Coltauco\"\n", + " },\n", + " \"06105\": {\n", + " \"id\": \"06105\",\n", + " \"name\": \"Doñihue\"\n", + " },\n", + " \"06106\": {\n", + " \"id\": \"06106\",\n", + " \"name\": \"Graneros\"\n", + " },\n", + " \"06107\": {\n", + " \"id\": \"06107\",\n", + " \"name\": \"Las Cabras\"\n", + " },\n", + " \"06108\": {\n", + " \"id\": \"06108\",\n", + " \"name\": \"Machalí\"\n", + " },\n", + " \"06109\": {\n", + " \"id\": \"06109\",\n", + " \"name\": \"Malloa\"\n", + " },\n", + " \"06110\": {\n", + " \"id\": \"06110\",\n", + " \"name\": \"Mostazal\"\n", + " },\n", + " \"06111\": {\n", + " \"id\": \"06111\",\n", + " \"name\": \"Olivar\"\n", + " },\n", + " \"06112\": {\n", + " \"id\": \"06112\",\n", + " \"name\": \"Peumo\"\n", + " },\n", + " \"06113\": {\n", + " \"id\": \"06113\",\n", + " \"name\": \"Pichidegua\"\n", + " },\n", + " \"06114\": {\n", + " \"id\": \"06114\",\n", + " \"name\": \"Quinta de Tilcoco\"\n", + " },\n", + " \"06115\": {\n", + " \"id\": \"06115\",\n", + " \"name\": \"Rengo\"\n", + " },\n", + " \"06116\": {\n", + " \"id\": \"06116\",\n", + " \"name\": \"Requínoa\"\n", + " },\n", + " \"06117\": {\n", + " \"id\": \"06117\",\n", + " \"name\": \"San Vicente\"\n", + " }\n", + " }\n", + " },\n", + " \"062\": {\n", + " \"id\": \"062\",\n", + " \"name\": \"Cardenal Caro\",\n", + " \"communes\": {\n", + " \"06201\": {\n", + " \"id\": \"06201\",\n", + " \"name\": \"Pichilemu\"\n", + " },\n", + " \"06202\": {\n", + " \"id\": \"06202\",\n", + " \"name\": \"La Estrella\"\n", + " },\n", + " \"06203\": {\n", + " \"id\": \"06203\",\n", + " \"name\": \"Litueche\"\n", + " },\n", + " \"06204\": {\n", + " \"id\": \"06204\",\n", + " \"name\": \"Marchihue\"\n", + " },\n", + " \"06205\": {\n", + " \"id\": \"06205\",\n", + " \"name\": \"Navidad\"\n", + " },\n", + " \"06206\": {\n", + " \"id\": \"06206\",\n", + " \"name\": \"Paredones\"\n", + " }\n", + " }\n", + " },\n", + " \"063\": {\n", + " \"id\": \"063\",\n", + " \"name\": \"Colchagua\",\n", + " \"communes\": {\n", + " \"06301\": {\n", + " \"id\": \"06301\",\n", + " \"name\": \"San Fernando\"\n", + " },\n", + " \"06302\": {\n", + " \"id\": \"06302\",\n", + " \"name\": \"Chépica\"\n", + " },\n", + " \"06303\": {\n", + " \"id\": \"06303\",\n", + " \"name\": \"Chimbarongo\"\n", + " },\n", + " \"06304\": {\n", + " \"id\": \"06304\",\n", + " \"name\": \"Lolol\"\n", + " },\n", + " \"06305\": {\n", + " \"id\": \"06305\",\n", + " \"name\": \"Nancagua\"\n", + " },\n", + " \"06306\": {\n", + " \"id\": \"06306\",\n", + " \"name\": \"Palmilla\"\n", + " },\n", + " \"06307\": {\n", + " \"id\": \"06307\",\n", + " \"name\": \"Peralillo\"\n", + " },\n", + " \"06308\": {\n", + " \"id\": \"06308\",\n", + " \"name\": \"Placilla\"\n", + " },\n", + " \"06309\": {\n", + " \"id\": \"06309\",\n", + " \"name\": \"Pumanque\"\n", + " },\n", + " \"06310\": {\n", + " \"id\": \"06310\",\n", + " \"name\": \"Santa Cruz\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"07\": {\n", + " \"id\": \"07\",\n", + " \"name\": \"Región del Maule\",\n", + " \"short_name\": \"Maule\",\n", + " \"abbreviation\": \"MAULE\",\n", + " \"iso_code\": \"CL-ML\",\n", + " \"provinces\": {\n", + " \"071\": {\n", + " \"id\": \"071\",\n", + " \"name\": \"Talca\",\n", + " \"communes\": {\n", + " \"07101\": {\n", + " \"id\": \"07101\",\n", + " \"name\": \"Talca\"\n", + " },\n", + " \"07102\": {\n", + " \"id\": \"07102\",\n", + " \"name\": \"Constitución\"\n", + " },\n", + " \"07103\": {\n", + " \"id\": \"07103\",\n", + " \"name\": \"Curepto\"\n", + " },\n", + " \"07104\": {\n", + " \"id\": \"07104\",\n", + " \"name\": \"Empedrado\"\n", + " },\n", + " \"07105\": {\n", + " \"id\": \"07105\",\n", + " \"name\": \"Maule\"\n", + " },\n", + " \"07106\": {\n", + " \"id\": \"07106\",\n", + " \"name\": \"Pelarco\"\n", + " },\n", + " \"07107\": {\n", + " \"id\": \"07107\",\n", + " \"name\": \"Pencahue\"\n", + " },\n", + " \"07108\": {\n", + " \"id\": \"07108\",\n", + " \"name\": \"Río Claro\"\n", + " },\n", + " \"07109\": {\n", + " \"id\": \"07109\",\n", + " \"name\": \"San Clemente\"\n", + " },\n", + " \"07110\": {\n", + " \"id\": \"07110\",\n", + " \"name\": \"San Rafael\"\n", + " }\n", + " }\n", + " },\n", + " \"072\": {\n", + " \"id\": \"072\",\n", + " \"name\": \"Cauquenes\",\n", + " \"communes\": {\n", + " \"07201\": {\n", + " \"id\": \"07201\",\n", + " \"name\": \"Cauquenes\"\n", + " },\n", + " \"07202\": {\n", + " \"id\": \"07202\",\n", + " \"name\": \"Chanco\"\n", + " },\n", + " \"07203\": {\n", + " \"id\": \"07203\",\n", + " \"name\": \"Pelluhue\"\n", + " }\n", + " }\n", + " },\n", + " \"073\": {\n", + " \"id\": \"073\",\n", + " \"name\": \"Curicó\",\n", + " \"communes\": {\n", + " \"07301\": {\n", + " \"id\": \"07301\",\n", + " \"name\": \"Curicó\"\n", + " },\n", + " \"07302\": {\n", + " \"id\": \"07302\",\n", + " \"name\": \"Hualañé\"\n", + " },\n", + " \"07303\": {\n", + " \"id\": \"07303\",\n", + " \"name\": \"Licantén\"\n", + " },\n", + " \"07304\": {\n", + " \"id\": \"07304\",\n", + " \"name\": \"Molina\"\n", + " },\n", + " \"07305\": {\n", + " \"id\": \"07305\",\n", + " \"name\": \"Rauco\"\n", + " },\n", + " \"07306\": {\n", + " \"id\": \"07306\",\n", + " \"name\": \"Romeral\"\n", + " },\n", + " \"07307\": {\n", + " \"id\": \"07307\",\n", + " \"name\": \"Sagrada Familia\"\n", + " },\n", + " \"07308\": {\n", + " \"id\": \"07308\",\n", + " \"name\": \"Teno\"\n", + " },\n", + " \"07309\": {\n", + " \"id\": \"07309\",\n", + " \"name\": \"Vichuquén\"\n", + " }\n", + " }\n", + " },\n", + " \"074\": {\n", + " \"id\": \"074\",\n", + " \"name\": \"Linares\",\n", + " \"communes\": {\n", + " \"07401\": {\n", + " \"id\": \"07401\",\n", + " \"name\": \"Linares\"\n", + " },\n", + " \"07402\": {\n", + " \"id\": \"07402\",\n", + " \"name\": \"Colbún\"\n", + " },\n", + " \"07403\": {\n", + " \"id\": \"07403\",\n", + " \"name\": \"Longaví\"\n", + " },\n", + " \"07404\": {\n", + " \"id\": \"07404\",\n", + " \"name\": \"Parral\"\n", + " },\n", + " \"07405\": {\n", + " \"id\": \"07405\",\n", + " \"name\": \"Retiro\"\n", + " },\n", + " \"07406\": {\n", + " \"id\": \"07406\",\n", + " \"name\": \"San Javier\"\n", + " },\n", + " \"07407\": {\n", + " \"id\": \"07407\",\n", + " \"name\": \"Villa Alegre\"\n", + " },\n", + " \"07408\": {\n", + " \"id\": \"07408\",\n", + " \"name\": \"Yerbas Buenas\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"08\": {\n", + " \"id\": \"08\",\n", + " \"name\": \"Región del Biobío\",\n", + " \"short_name\": \"Biobío\",\n", + " \"abbreviation\": \"BBIO\",\n", + " \"iso_code\": \"CL-BI\",\n", + " \"provinces\": {\n", + " \"081\": {\n", + " \"id\": \"081\",\n", + " \"name\": \"Concepción\",\n", + " \"communes\": {\n", + " \"08101\": {\n", + " \"id\": \"08101\",\n", + " \"name\": \"Concepción\"\n", + " },\n", + " \"08102\": {\n", + " \"id\": \"08102\",\n", + " \"name\": \"Coronel\"\n", + " },\n", + " \"08103\": {\n", + " \"id\": \"08103\",\n", + " \"name\": \"Chiguayante\"\n", + " },\n", + " \"08104\": {\n", + " \"id\": \"08104\",\n", + " \"name\": \"Florida\"\n", + " },\n", + " \"08105\": {\n", + " \"id\": \"08105\",\n", + " \"name\": \"Hualqui\"\n", + " },\n", + " \"08106\": {\n", + " \"id\": \"08106\",\n", + " \"name\": \"Lota\"\n", + " },\n", + " \"08107\": {\n", + " \"id\": \"08107\",\n", + " \"name\": \"Penco\"\n", + " },\n", + " \"08108\": {\n", + " \"id\": \"08108\",\n", + " \"name\": \"San Pedro de la Paz\"\n", + " },\n", + " \"08109\": {\n", + " \"id\": \"08109\",\n", + " \"name\": \"Santa Juana\"\n", + " },\n", + " \"08110\": {\n", + " \"id\": \"08110\",\n", + " \"name\": \"Talcahuano\"\n", + " },\n", + " \"08111\": {\n", + " \"id\": \"08111\",\n", + " \"name\": \"Tomé\"\n", + " },\n", + " \"08112\": {\n", + " \"id\": \"08112\",\n", + " \"name\": \"Hualpén\"\n", + " }\n", + " }\n", + " },\n", + " \"082\": {\n", + " \"id\": \"082\",\n", + " \"name\": \"Arauco\",\n", + " \"communes\": {\n", + " \"08201\": {\n", + " \"id\": \"08201\",\n", + " \"name\": \"Lebu\"\n", + " },\n", + " \"08202\": {\n", + " \"id\": \"08202\",\n", + " \"name\": \"Arauco\"\n", + " },\n", + " \"08203\": {\n", + " \"id\": \"08203\",\n", + " \"name\": \"Cañete\"\n", + " },\n", + " \"08204\": {\n", + " \"id\": \"08204\",\n", + " \"name\": \"Contulmo\"\n", + " },\n", + " \"08205\": {\n", + " \"id\": \"08205\",\n", + " \"name\": \"Curanilahue\"\n", + " },\n", + " \"08206\": {\n", + " \"id\": \"08206\",\n", + " \"name\": \"Los Alamos\"\n", + " },\n", + " \"08207\": {\n", + " \"id\": \"08207\",\n", + " \"name\": \"Tirúa\"\n", + " }\n", + " }\n", + " },\n", + " \"083\": {\n", + " \"id\": \"083\",\n", + " \"name\": \"Biobío\",\n", + " \"communes\": {\n", + " \"08301\": {\n", + " \"id\": \"08301\",\n", + " \"name\": \"Los Angeles\"\n", + " },\n", + " \"08302\": {\n", + " \"id\": \"08302\",\n", + " \"name\": \"Antuco\"\n", + " },\n", + " \"08303\": {\n", + " \"id\": \"08303\",\n", + " \"name\": \"Cabrero\"\n", + " },\n", + " \"08304\": {\n", + " \"id\": \"08304\",\n", + " \"name\": \"Laja\"\n", + " },\n", + " \"08305\": {\n", + " \"id\": \"08305\",\n", + " \"name\": \"Mulchén\"\n", + " },\n", + " \"08306\": {\n", + " \"id\": \"08306\",\n", + " \"name\": \"Nacimiento\"\n", + " },\n", + " \"08307\": {\n", + " \"id\": \"08307\",\n", + " \"name\": \"Negrete\"\n", + " },\n", + " \"08308\": {\n", + " \"id\": \"08308\",\n", + " \"name\": \"Quilaco\"\n", + " },\n", + " \"08309\": {\n", + " \"id\": \"08309\",\n", + " \"name\": \"Quilleco\"\n", + " },\n", + " \"08310\": {\n", + " \"id\": \"08310\",\n", + " \"name\": \"San Rosendo\"\n", + " },\n", + " \"08311\": {\n", + " \"id\": \"08311\",\n", + " \"name\": \"Santa Bárbara\"\n", + " },\n", + " \"08312\": {\n", + " \"id\": \"08312\",\n", + " \"name\": \"Tucapel\"\n", + " },\n", + " \"08313\": {\n", + " \"id\": \"08313\",\n", + " \"name\": \"Yumbel\"\n", + " },\n", + " \"08314\": {\n", + " \"id\": \"08314\",\n", + " \"name\": \"Alto Biobío\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"09\": {\n", + " \"id\": \"09\",\n", + " \"name\": \"Región de La Araucanía\",\n", + " \"short_name\": \"La Araucanía\",\n", + " \"abbreviation\": \"ARAUC\",\n", + " \"iso_code\": \"CL-AR\",\n", + " \"provinces\": {\n", + " \"091\": {\n", + " \"id\": \"091\",\n", + " \"name\": \"Cautín\",\n", + " \"communes\": {\n", + " \"09101\": {\n", + " \"id\": \"09101\",\n", + " \"name\": \"Temuco\"\n", + " },\n", + " \"09102\": {\n", + " \"id\": \"09102\",\n", + " \"name\": \"Carahue\"\n", + " },\n", + " \"09103\": {\n", + " \"id\": \"09103\",\n", + " \"name\": \"Cunco\"\n", + " },\n", + " \"09104\": {\n", + " \"id\": \"09104\",\n", + " \"name\": \"Curarrehue\"\n", + " },\n", + " \"09105\": {\n", + " \"id\": \"09105\",\n", + " \"name\": \"Freire\"\n", + " },\n", + " \"09106\": {\n", + " \"id\": \"09106\",\n", + " \"name\": \"Galvarino\"\n", + " },\n", + " \"09107\": {\n", + " \"id\": \"09107\",\n", + " \"name\": \"Gorbea\"\n", + " },\n", + " \"09108\": {\n", + " \"id\": \"09108\",\n", + " \"name\": \"Lautaro\"\n", + " },\n", + " \"09109\": {\n", + " \"id\": \"09109\",\n", + " \"name\": \"Loncoche\"\n", + " },\n", + " \"09110\": {\n", + " \"id\": \"09110\",\n", + " \"name\": \"Melipeuco\"\n", + " },\n", + " \"09111\": {\n", + " \"id\": \"09111\",\n", + " \"name\": \"Nueva Imperial\"\n", + " },\n", + " \"09112\": {\n", + " \"id\": \"09112\",\n", + " \"name\": \"Padre Las Casas\"\n", + " },\n", + " \"09113\": {\n", + " \"id\": \"09113\",\n", + " \"name\": \"Perquenco\"\n", + " },\n", + " \"09114\": {\n", + " \"id\": \"09114\",\n", + " \"name\": \"Pitrufquén\"\n", + " },\n", + " \"09115\": {\n", + " \"id\": \"09115\",\n", + " \"name\": \"Pucón\"\n", + " },\n", + " \"09116\": {\n", + " \"id\": \"09116\",\n", + " \"name\": \"Saavedra\"\n", + " },\n", + " \"09117\": {\n", + " \"id\": \"09117\",\n", + " \"name\": \"Teodoro Schmidt\"\n", + " },\n", + " \"09118\": {\n", + " \"id\": \"09118\",\n", + " \"name\": \"Toltén\"\n", + " },\n", + " \"09119\": {\n", + " \"id\": \"09119\",\n", + " \"name\": \"Vilcún\"\n", + " },\n", + " \"09120\": {\n", + " \"id\": \"09120\",\n", + " \"name\": \"Villarrica\"\n", + " },\n", + " \"09121\": {\n", + " \"id\": \"09121\",\n", + " \"name\": \"Cholchol\"\n", + " }\n", + " }\n", + " },\n", + " \"092\": {\n", + " \"id\": \"092\",\n", + " \"name\": \"Malleco\",\n", + " \"communes\": {\n", + " \"09201\": {\n", + " \"id\": \"09201\",\n", + " \"name\": \"Angol\"\n", + " },\n", + " \"09202\": {\n", + " \"id\": \"09202\",\n", + " \"name\": \"Collipulli\"\n", + " },\n", + " \"09203\": {\n", + " \"id\": \"09203\",\n", + " \"name\": \"Curacautín\"\n", + " },\n", + " \"09204\": {\n", + " \"id\": \"09204\",\n", + " \"name\": \"Ercilla\"\n", + " },\n", + " \"09205\": {\n", + " \"id\": \"09205\",\n", + " \"name\": \"Lonquimay\"\n", + " },\n", + " \"09206\": {\n", + " \"id\": \"09206\",\n", + " \"name\": \"Los Sauces\"\n", + " },\n", + " \"09207\": {\n", + " \"id\": \"09207\",\n", + " \"name\": \"Lumaco\"\n", + " },\n", + " \"09208\": {\n", + " \"id\": \"09208\",\n", + " \"name\": \"Purén\"\n", + " },\n", + " \"09209\": {\n", + " \"id\": \"09209\",\n", + " \"name\": \"Renaico\"\n", + " },\n", + " \"09210\": {\n", + " \"id\": \"09210\",\n", + " \"name\": \"Traiguén\"\n", + " },\n", + " \"09211\": {\n", + " \"id\": \"09211\",\n", + " \"name\": \"Victoria\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"10\": {\n", + " \"id\": \"10\",\n", + " \"name\": \"Región de Los Lagos\",\n", + " \"short_name\": \"Los Lagos\",\n", + " \"abbreviation\": \"LAGOS\",\n", + " \"iso_code\": \"CL-LL\",\n", + " \"provinces\": {\n", + " \"101\": {\n", + " \"id\": \"101\",\n", + " \"name\": \"Llanquihue\",\n", + " \"communes\": {\n", + " \"10101\": {\n", + " \"id\": \"10101\",\n", + " \"name\": \"Puerto Montt\"\n", + " },\n", + " \"10102\": {\n", + " \"id\": \"10102\",\n", + " \"name\": \"Calbuco\"\n", + " },\n", + " \"10103\": {\n", + " \"id\": \"10103\",\n", + " \"name\": \"Cochamó\"\n", + " },\n", + " \"10104\": {\n", + " \"id\": \"10104\",\n", + " \"name\": \"Fresia\"\n", + " },\n", + " \"10105\": {\n", + " \"id\": \"10105\",\n", + " \"name\": \"Frutillar\"\n", + " },\n", + " \"10106\": {\n", + " \"id\": \"10106\",\n", + " \"name\": \"Los Muermos\"\n", + " },\n", + " \"10107\": {\n", + " \"id\": \"10107\",\n", + " \"name\": \"Llanquihue\"\n", + " },\n", + " \"10108\": {\n", + " \"id\": \"10108\",\n", + " \"name\": \"Maullín\"\n", + " },\n", + " \"10109\": {\n", + " \"id\": \"10109\",\n", + " \"name\": \"Puerto Varas\"\n", + " }\n", + " }\n", + " },\n", + " \"102\": {\n", + " \"id\": \"102\",\n", + " \"name\": \"Chiloé\",\n", + " \"communes\": {\n", + " \"10201\": {\n", + " \"id\": \"10201\",\n", + " \"name\": \"Castro\"\n", + " },\n", + " \"10202\": {\n", + " \"id\": \"10202\",\n", + " \"name\": \"Ancud\"\n", + " },\n", + " \"10203\": {\n", + " \"id\": \"10203\",\n", + " \"name\": \"Chonchi\"\n", + " },\n", + " \"10204\": {\n", + " \"id\": \"10204\",\n", + " \"name\": \"Curaco de Vélez\"\n", + " },\n", + " \"10205\": {\n", + " \"id\": \"10205\",\n", + " \"name\": \"Dalcahue\"\n", + " },\n", + " \"10206\": {\n", + " \"id\": \"10206\",\n", + " \"name\": \"Puqueldón\"\n", + " },\n", + " \"10207\": {\n", + " \"id\": \"10207\",\n", + " \"name\": \"Queilén\"\n", + " },\n", + " \"10208\": {\n", + " \"id\": \"10208\",\n", + " \"name\": \"Quellón\"\n", + " },\n", + " \"10209\": {\n", + " \"id\": \"10209\",\n", + " \"name\": \"Quemchi\"\n", + " },\n", + " \"10210\": {\n", + " \"id\": \"10210\",\n", + " \"name\": \"Quinchao\"\n", + " }\n", + " }\n", + " },\n", + " \"103\": {\n", + " \"id\": \"103\",\n", + " \"name\": \"Osorno\",\n", + " \"communes\": {\n", + " \"10301\": {\n", + " \"id\": \"10301\",\n", + " \"name\": \"Osorno\"\n", + " },\n", + " \"10302\": {\n", + " \"id\": \"10302\",\n", + " \"name\": \"Puerto Octay\"\n", + " },\n", + " \"10303\": {\n", + " \"id\": \"10303\",\n", + " \"name\": \"Purranque\"\n", + " },\n", + " \"10304\": {\n", + " \"id\": \"10304\",\n", + " \"name\": \"Puyehue\"\n", + " },\n", + " \"10305\": {\n", + " \"id\": \"10305\",\n", + " \"name\": \"Río Negro\"\n", + " },\n", + " \"10306\": {\n", + " \"id\": \"10306\",\n", + " \"name\": \"San Juan de la Costa\"\n", + " },\n", + " \"10307\": {\n", + " \"id\": \"10307\",\n", + " \"name\": \"San Pablo\"\n", + " }\n", + " }\n", + " },\n", + " \"104\": {\n", + " \"id\": \"104\",\n", + " \"name\": \"Palena\",\n", + " \"communes\": {\n", + " \"10401\": {\n", + " \"id\": \"10401\",\n", + " \"name\": \"Chaitén\"\n", + " },\n", + " \"10402\": {\n", + " \"id\": \"10402\",\n", + " \"name\": \"Futaleufú\"\n", + " },\n", + " \"10403\": {\n", + " \"id\": \"10403\",\n", + " \"name\": \"Hualaihué\"\n", + " },\n", + " \"10404\": {\n", + " \"id\": \"10404\",\n", + " \"name\": \"Palena\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"11\": {\n", + " \"id\": \"11\",\n", + " \"name\": \"Región Aysén del General Carlos Ibáñez del Campo\",\n", + " \"short_name\": \"Aysén del General Carlos Ibáñez del Campo\",\n", + " \"abbreviation\": \"AYSEN\",\n", + " \"iso_code\": \"CL-AI\",\n", + " \"provinces\": {\n", + " \"111\": {\n", + " \"id\": \"111\",\n", + " \"name\": \"Coyhaique\",\n", + " \"communes\": {\n", + " \"11101\": {\n", + " \"id\": \"11101\",\n", + " \"name\": \"Coyhaique\"\n", + " },\n", + " \"11102\": {\n", + " \"id\": \"11102\",\n", + " \"name\": \"Lago Verde\"\n", + " }\n", + " }\n", + " },\n", + " \"112\": {\n", + " \"id\": \"112\",\n", + " \"name\": \"Aysén\",\n", + " \"communes\": {\n", + " \"11201\": {\n", + " \"id\": \"11201\",\n", + " \"name\": \"Aysén\"\n", + " },\n", + " \"11202\": {\n", + " \"id\": \"11202\",\n", + " \"name\": \"Cisnes\"\n", + " },\n", + " \"11203\": {\n", + " \"id\": \"11203\",\n", + " \"name\": \"Guaitecas\"\n", + " }\n", + " }\n", + " },\n", + " \"113\": {\n", + " \"id\": \"113\",\n", + " \"name\": \"Capitán Prat\",\n", + " \"communes\": {\n", + " \"11301\": {\n", + " \"id\": \"11301\",\n", + " \"name\": \"Cochrane\"\n", + " },\n", + " \"11302\": {\n", + " \"id\": \"11302\",\n", + " \"name\": \"O'Higgins\"\n", + " },\n", + " \"11303\": {\n", + " \"id\": \"11303\",\n", + " \"name\": \"Tortel\"\n", + " }\n", + " }\n", + " },\n", + " \"114\": {\n", + " \"id\": \"114\",\n", + " \"name\": \"General Carrera\",\n", + " \"communes\": {\n", + " \"11401\": {\n", + " \"id\": \"11401\",\n", + " \"name\": \"Chile Chico\"\n", + " },\n", + " \"11402\": {\n", + " \"id\": \"11402\",\n", + " \"name\": \"Río Ibáñez\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"12\": {\n", + " \"id\": \"12\",\n", + " \"name\": \"Región de Magallanes y de la Antártica Chilena\",\n", + " \"short_name\": \"Magallanes y de la Antártica Chilena\",\n", + " \"abbreviation\": \"MAG\",\n", + " \"iso_code\": \"CL-MA\",\n", + " \"provinces\": {\n", + " \"121\": {\n", + " \"id\": \"121\",\n", + " \"name\": \"Magallanes\",\n", + " \"communes\": {\n", + " \"12101\": {\n", + " \"id\": \"12101\",\n", + " \"name\": \"Punta Arenas\"\n", + " },\n", + " \"12102\": {\n", + " \"id\": \"12102\",\n", + " \"name\": \"Laguna Blanca\"\n", + " },\n", + " \"12103\": {\n", + " \"id\": \"12103\",\n", + " \"name\": \"Río Verde\"\n", + " },\n", + " \"12104\": {\n", + " \"id\": \"12104\",\n", + " \"name\": \"San Gregorio\"\n", + " }\n", + " }\n", + " },\n", + " \"122\": {\n", + " \"id\": \"122\",\n", + " \"name\": \"Antártica Chilena\",\n", + " \"communes\": {\n", + " \"12201\": {\n", + " \"id\": \"12201\",\n", + " \"name\": \"Cabo de Hornos\"\n", + " },\n", + " \"12202\": {\n", + " \"id\": \"12202\",\n", + " \"name\": \"Antártica\"\n", + " }\n", + " }\n", + " },\n", + " \"123\": {\n", + " \"id\": \"123\",\n", + " \"name\": \"Tierra del Fuego\",\n", + " \"communes\": {\n", + " \"12301\": {\n", + " \"id\": \"12301\",\n", + " \"name\": \"Porvenir\"\n", + " },\n", + " \"12302\": {\n", + " \"id\": \"12302\",\n", + " \"name\": \"Primavera\"\n", + " },\n", + " \"12303\": {\n", + " \"id\": \"12303\",\n", + " \"name\": \"Timaukel\"\n", + " }\n", + " }\n", + " },\n", + " \"124\": {\n", + " \"id\": \"124\",\n", + " \"name\": \"Última Esperanza\",\n", + " \"communes\": {\n", + " \"12401\": {\n", + " \"id\": \"12401\",\n", + " \"name\": \"Natales\"\n", + " },\n", + " \"12402\": {\n", + " \"id\": \"12402\",\n", + " \"name\": \"Torres del Paine\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"13\": {\n", + " \"id\": \"13\",\n", + " \"name\": \"Región Metropolitana de Santiago\",\n", + " \"short_name\": \"Metropolitana de Santiago\",\n", + " \"abbreviation\": \"RM\",\n", + " \"iso_code\": \"CL-RM\",\n", + " \"provinces\": {\n", + " \"131\": {\n", + " \"id\": \"131\",\n", + " \"name\": \"Santiago\",\n", + " \"communes\": {\n", + " \"13101\": {\n", + " \"id\": \"13101\",\n", + " \"name\": \"Santiago\"\n", + " },\n", + " \"13102\": {\n", + " \"id\": \"13102\",\n", + " \"name\": \"Cerrillos\"\n", + " },\n", + " \"13103\": {\n", + " \"id\": \"13103\",\n", + " \"name\": \"Cerro Navia\"\n", + " },\n", + " \"13104\": {\n", + " \"id\": \"13104\",\n", + " \"name\": \"Conchalí\"\n", + " },\n", + " \"13105\": {\n", + " \"id\": \"13105\",\n", + " \"name\": \"El Bosque\"\n", + " },\n", + " \"13106\": {\n", + " \"id\": \"13106\",\n", + " \"name\": \"Estación Central\"\n", + " },\n", + " \"13107\": {\n", + " \"id\": \"13107\",\n", + " \"name\": \"Huechuraba\"\n", + " },\n", + " \"13108\": {\n", + " \"id\": \"13108\",\n", + " \"name\": \"Independencia\"\n", + " },\n", + " \"13109\": {\n", + " \"id\": \"13109\",\n", + " \"name\": \"La Cisterna\"\n", + " },\n", + " \"13110\": {\n", + " \"id\": \"13110\",\n", + " \"name\": \"La Florida\"\n", + " },\n", + " \"13111\": {\n", + " \"id\": \"13111\",\n", + " \"name\": \"La Granja\"\n", + " },\n", + " \"13112\": {\n", + " \"id\": \"13112\",\n", + " \"name\": \"La Pintana\"\n", + " },\n", + " \"13113\": {\n", + " \"id\": \"13113\",\n", + " \"name\": \"La Reina\"\n", + " },\n", + " \"13114\": {\n", + " \"id\": \"13114\",\n", + " \"name\": \"Las Condes\"\n", + " },\n", + " \"13115\": {\n", + " \"id\": \"13115\",\n", + " \"name\": \"Lo Barnechea\"\n", + " },\n", + " \"13116\": {\n", + " \"id\": \"13116\",\n", + " \"name\": \"Lo Espejo\"\n", + " },\n", + " \"13117\": {\n", + " \"id\": \"13117\",\n", + " \"name\": \"Lo Prado\"\n", + " },\n", + " \"13118\": {\n", + " \"id\": \"13118\",\n", + " \"name\": \"Macul\"\n", + " },\n", + " \"13119\": {\n", + " \"id\": \"13119\",\n", + " \"name\": \"Maipú\"\n", + " },\n", + " \"13120\": {\n", + " \"id\": \"13120\",\n", + " \"name\": \"Ñuñoa\"\n", + " },\n", + " \"13121\": {\n", + " \"id\": \"13121\",\n", + " \"name\": \"Pedro Aguirre Cerda\"\n", + " },\n", + " \"13122\": {\n", + " \"id\": \"13122\",\n", + " \"name\": \"Peñalolén\"\n", + " },\n", + " \"13123\": {\n", + " \"id\": \"13123\",\n", + " \"name\": \"Providencia\"\n", + " },\n", + " \"13124\": {\n", + " \"id\": \"13124\",\n", + " \"name\": \"Pudahuel\"\n", + " },\n", + " \"13125\": {\n", + " \"id\": \"13125\",\n", + " \"name\": \"Quilicura\"\n", + " },\n", + " \"13126\": {\n", + " \"id\": \"13126\",\n", + " \"name\": \"Quinta Normal\"\n", + " },\n", + " \"13127\": {\n", + " \"id\": \"13127\",\n", + " \"name\": \"Recoleta\"\n", + " },\n", + " \"13128\": {\n", + " \"id\": \"13128\",\n", + " \"name\": \"Renca\"\n", + " },\n", + " \"13129\": {\n", + " \"id\": \"13129\",\n", + " \"name\": \"San Joaquín\"\n", + " },\n", + " \"13130\": {\n", + " \"id\": \"13130\",\n", + " \"name\": \"San Miguel\"\n", + " },\n", + " \"13131\": {\n", + " \"id\": \"13131\",\n", + " \"name\": \"San Ramón\"\n", + " },\n", + " \"13132\": {\n", + " \"id\": \"13132\",\n", + " \"name\": \"Vitacura\"\n", + " }\n", + " }\n", + " },\n", + " \"132\": {\n", + " \"id\": \"132\",\n", + " \"name\": \"Cordillera\",\n", + " \"communes\": {\n", + " \"13201\": {\n", + " \"id\": \"13201\",\n", + " \"name\": \"Puente Alto\"\n", + " },\n", + " \"13202\": {\n", + " \"id\": \"13202\",\n", + " \"name\": \"Pirque\"\n", + " },\n", + " \"13203\": {\n", + " \"id\": \"13203\",\n", + " \"name\": \"San José de Maipo\"\n", + " }\n", + " }\n", + " },\n", + " \"133\": {\n", + " \"id\": \"133\",\n", + " \"name\": \"Chacabuco\",\n", + " \"communes\": {\n", + " \"13301\": {\n", + " \"id\": \"13301\",\n", + " \"name\": \"Colina\"\n", + " },\n", + " \"13302\": {\n", + " \"id\": \"13302\",\n", + " \"name\": \"Lampa\"\n", + " },\n", + " \"13303\": {\n", + " \"id\": \"13303\",\n", + " \"name\": \"Tiltil\"\n", + " }\n", + " }\n", + " },\n", + " \"134\": {\n", + " \"id\": \"134\",\n", + " \"name\": \"Maipo\",\n", + " \"communes\": {\n", + " \"13401\": {\n", + " \"id\": \"13401\",\n", + " \"name\": \"San Bernardo\"\n", + " },\n", + " \"13402\": {\n", + " \"id\": \"13402\",\n", + " \"name\": \"Buin\"\n", + " },\n", + " \"13403\": {\n", + " \"id\": \"13403\",\n", + " \"name\": \"Calera de Tango\"\n", + " },\n", + " \"13404\": {\n", + " \"id\": \"13404\",\n", + " \"name\": \"Paine\"\n", + " }\n", + " }\n", + " },\n", + " \"135\": {\n", + " \"id\": \"135\",\n", + " \"name\": \"Melipilla\",\n", + " \"communes\": {\n", + " \"13501\": {\n", + " \"id\": \"13501\",\n", + " \"name\": \"Melipilla\"\n", + " },\n", + " \"13502\": {\n", + " \"id\": \"13502\",\n", + " \"name\": \"Alhué\"\n", + " },\n", + " \"13503\": {\n", + " \"id\": \"13503\",\n", + " \"name\": \"Curacaví\"\n", + " },\n", + " \"13504\": {\n", + " \"id\": \"13504\",\n", + " \"name\": \"María Pinto\"\n", + " },\n", + " \"13505\": {\n", + " \"id\": \"13505\",\n", + " \"name\": \"San Pedro\"\n", + " }\n", + " }\n", + " },\n", + " \"136\": {\n", + " \"id\": \"136\",\n", + " \"name\": \"Talagante\",\n", + " \"communes\": {\n", + " \"13601\": {\n", + " \"id\": \"13601\",\n", + " \"name\": \"Talagante\"\n", + " },\n", + " \"13602\": {\n", + " \"id\": \"13602\",\n", + " \"name\": \"El Monte\"\n", + " },\n", + " \"13603\": {\n", + " \"id\": \"13603\",\n", + " \"name\": \"Isla de Maipo\"\n", + " },\n", + " \"13604\": {\n", + " \"id\": \"13604\",\n", + " \"name\": \"Padre Hurtado\"\n", + " },\n", + " \"13605\": {\n", + " \"id\": \"13605\",\n", + " \"name\": \"Peñaflor\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"14\": {\n", + " \"id\": \"14\",\n", + " \"name\": \"Región de Los Ríos\",\n", + " \"short_name\": \"Los Ríos\",\n", + " \"abbreviation\": \"RIOS\",\n", + " \"iso_code\": \"CL-LR\",\n", + " \"provinces\": {\n", + " \"141\": {\n", + " \"id\": \"141\",\n", + " \"name\": \"Valdivia\",\n", + " \"communes\": {\n", + " \"14101\": {\n", + " \"id\": \"14101\",\n", + " \"name\": \"Valdivia\"\n", + " },\n", + " \"14102\": {\n", + " \"id\": \"14102\",\n", + " \"name\": \"Corral\"\n", + " },\n", + " \"14103\": {\n", + " \"id\": \"14103\",\n", + " \"name\": \"Lanco\"\n", + " },\n", + " \"14104\": {\n", + " \"id\": \"14104\",\n", + " \"name\": \"Los Lagos\"\n", + " },\n", + " \"14105\": {\n", + " \"id\": \"14105\",\n", + " \"name\": \"Máfil\"\n", + " },\n", + " \"14106\": {\n", + " \"id\": \"14106\",\n", + " \"name\": \"Mariquina\"\n", + " },\n", + " \"14107\": {\n", + " \"id\": \"14107\",\n", + " \"name\": \"Paillaco\"\n", + " },\n", + " \"14108\": {\n", + " \"id\": \"14108\",\n", + " \"name\": \"Panguipulli\"\n", + " }\n", + " }\n", + " },\n", + " \"142\": {\n", + " \"id\": \"142\",\n", + " \"name\": \"Ranco\",\n", + " \"communes\": {\n", + " \"14201\": {\n", + " \"id\": \"14201\",\n", + " \"name\": \"La Unión\"\n", + " },\n", + " \"14202\": {\n", + " \"id\": \"14202\",\n", + " \"name\": \"Futrono\"\n", + " },\n", + " \"14203\": {\n", + " \"id\": \"14203\",\n", + " \"name\": \"Lago Ranco\"\n", + " },\n", + " \"14204\": {\n", + " \"id\": \"14204\",\n", + " \"name\": \"Río Bueno\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"15\": {\n", + " \"id\": \"15\",\n", + " \"name\": \"Región de Arica y Parinacota\",\n", + " \"short_name\": \"Arica y Parinacota\",\n", + " \"abbreviation\": \"AyP\",\n", + " \"iso_code\": \"CL-AP\",\n", + " \"provinces\": {\n", + " \"151\": {\n", + " \"id\": \"151\",\n", + " \"name\": \"Arica\",\n", + " \"communes\": {\n", + " \"15101\": {\n", + " \"id\": \"15101\",\n", + " \"name\": \"Arica\"\n", + " },\n", + " \"15102\": {\n", + " \"id\": \"15102\",\n", + " \"name\": \"Camarones\"\n", + " }\n", + " }\n", + " },\n", + " \"152\": {\n", + " \"id\": \"152\",\n", + " \"name\": \"Parinacota\",\n", + " \"communes\": {\n", + " \"15201\": {\n", + " \"id\": \"15201\",\n", + " \"name\": \"Putre\"\n", + " },\n", + " \"15202\": {\n", + " \"id\": \"15202\",\n", + " \"name\": \"General Lagos\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " },\n", + " \"16\": {\n", + " \"id\": \"16\",\n", + " \"name\": \"Región de Ñuble\",\n", + " \"short_name\": \"Ñuble\",\n", + " \"abbreviation\": \"NUBLE\",\n", + " \"iso_code\": \"CL-NB\",\n", + " \"provinces\": {\n", + " \"161\": {\n", + " \"id\": \"161\",\n", + " \"name\": \"Diguillín\",\n", + " \"communes\": {\n", + " \"16101\": {\n", + " \"id\": \"16101\",\n", + " \"name\": \"Chillán\"\n", + " },\n", + " \"16102\": {\n", + " \"id\": \"16102\",\n", + " \"name\": \"Bulnes\"\n", + " },\n", + " \"16103\": {\n", + " \"id\": \"16103\",\n", + " \"name\": \"Chillán Viejo\"\n", + " },\n", + " \"16104\": {\n", + " \"id\": \"16104\",\n", + " \"name\": \"El Carmen\"\n", + " },\n", + " \"16105\": {\n", + " \"id\": \"16105\",\n", + " \"name\": \"Pemuco\"\n", + " },\n", + " \"16106\": {\n", + " \"id\": \"16106\",\n", + " \"name\": \"Pinto\"\n", + " },\n", + " \"16107\": {\n", + " \"id\": \"16107\",\n", + " \"name\": \"Quillón\"\n", + " },\n", + " \"16108\": {\n", + " \"id\": \"16108\",\n", + " \"name\": \"San Ignacio\"\n", + " },\n", + " \"16109\": {\n", + " \"id\": \"16109\",\n", + " \"name\": \"Yungay\"\n", + " }\n", + " }\n", + " },\n", + " \"162\": {\n", + " \"id\": \"162\",\n", + " \"name\": \"Itata\",\n", + " \"communes\": {\n", + " \"16201\": {\n", + " \"id\": \"16201\",\n", + " \"name\": \"Quirihue\"\n", + " },\n", + " \"16202\": {\n", + " \"id\": \"16202\",\n", + " \"name\": \"Cobquecura\"\n", + " },\n", + " \"16203\": {\n", + " \"id\": \"16203\",\n", + " \"name\": \"Coelemu\"\n", + " },\n", + " \"16204\": {\n", + " \"id\": \"16204\",\n", + " \"name\": \"Ninhue\"\n", + " },\n", + " \"16205\": {\n", + " \"id\": \"16205\",\n", + " \"name\": \"Portezuelo\"\n", + " },\n", + " \"16206\": {\n", + " \"id\": \"16206\",\n", + " \"name\": \"Ranquil\"\n", + " },\n", + " \"16207\": {\n", + " \"id\": \"16207\",\n", + " \"name\": \"Treguaco\"\n", + " }\n", + " }\n", + " },\n", + " \"163\": {\n", + " \"id\": \"163\",\n", + " \"name\": \"Punilla\",\n", + " \"communes\": {\n", + " \"16301\": {\n", + " \"id\": \"16301\",\n", + " \"name\": \"San Carlos\"\n", + " },\n", + " \"16302\": {\n", + " \"id\": \"16302\",\n", + " \"name\": \"Coihueco\"\n", + " },\n", + " \"16303\": {\n", + " \"id\": \"16303\",\n", + " \"name\": \"Ñiquén\"\n", + " },\n", + " \"16304\": {\n", + " \"id\": \"16304\",\n", + " \"name\": \"San Fabián\"\n", + " },\n", + " \"16305\": {\n", + " \"id\": \"16305\",\n", + " \"name\": \"San Nicolás\"\n", + " }\n", + " }\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n" + ] + } + ], "source": [ - "import json\n", - "\n", "# Agrupar comunas por provincia_id y construir el diccionario de comunas\n", "communes_grouped = communes_df.groupby(\"province_id\")\n", "provinces_df[\"communes\"] = provinces_df[\"id\"].apply(\n", @@ -240,47 +3720,612 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Construcción de Región SQL" + "### Datos Territoriales como arreglo JSON" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "CREATE TABLE region (\n", - " id VARCHAR(2) PRIMARY KEY,\n", - " name VARCHAR(255),\n", - " short_name VARCHAR(255),\n", - " abbreviation VARCHAR(10),\n", - " iso_code VARCHAR(10)\n", - ");\n", - "\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('01', 'Región de Tarapacá', 'Tarapacá', 'TPCA', 'CL-TA');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('02', 'Región de Antofagasta', 'Antofagasta', 'ANTOF', 'CL-AN');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('03', 'Región de Atacama', 'Atacama', 'ATCMA', 'CL-AT');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('04', 'Región de Coquimbo', 'Coquimbo', 'COQ', 'CL-CO');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('05', 'Región de Valparaíso', 'Valparaíso', 'VALPO', 'CL-VS');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('06', 'Región del Libertador General Bernardo O''Higgins', 'Libertador General Bernardo O''Higgins', 'LGBO', 'CL-LI');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('07', 'Región del Maule', 'Maule', 'MAULE', 'CL-ML');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('08', 'Región del Biobío', 'Biobío', 'BBIO', 'CL-BI');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('09', 'Región de La Araucanía', 'La Araucanía', 'ARAUC', 'CL-AR');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('10', 'Región de Los Lagos', 'Los Lagos', 'LAGOS', 'CL-LL');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('11', 'Región Aysén del General Carlos Ibáñez del Campo', 'Aysén del General Carlos Ibáñez del Campo', 'AYSEN', 'CL-AI');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('12', 'Región de Magallanes y de la Antártica Chilena', 'Magallanes y de la Antártica Chilena', 'MAG', 'CL-MA');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('13', 'Región Metropolitana de Santiago', 'Metropolitana de Santiago', 'RM', 'CL-RM');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('14', 'Región de Los Ríos', 'Los Ríos', 'RIOS', 'CL-LR');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('15', 'Región de Arica y Parinacota', 'Arica y Parinacota', 'AyP', 'CL-AP');\n", - "INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('16', 'Región de Ñuble', 'Ñuble', 'NUBLE', 'CL-NB');\n", - "\n" - ] + "data": { + "text/plain": [ + "{'country': 'Chile',\n", + " 'regions': [{'id': '01',\n", + " 'name': 'Región de Tarapacá',\n", + " 'short_name': 'Tarapacá',\n", + " 'abbreviation': 'TPCA',\n", + " 'iso_code': 'CL-TA',\n", + " 'provinces': [{'id': '011',\n", + " 'name': 'Iquique',\n", + " 'communes': [{'id': '01101', 'name': 'Iquique'},\n", + " {'id': '01107', 'name': 'Alto Hospicio'}]},\n", + " {'id': '014',\n", + " 'name': 'Tamarugal',\n", + " 'communes': [{'id': '01401', 'name': 'Pozo Almonte'},\n", + " {'id': '01402', 'name': 'Camiña'},\n", + " {'id': '01403', 'name': 'Colchane'},\n", + " {'id': '01404', 'name': 'Huara'},\n", + " {'id': '01405', 'name': 'Pica'}]}]},\n", + " {'id': '02',\n", + " 'name': 'Región de Antofagasta',\n", + " 'short_name': 'Antofagasta',\n", + " 'abbreviation': 'ANTOF',\n", + " 'iso_code': 'CL-AN',\n", + " 'provinces': [{'id': '021',\n", + " 'name': 'Antofagasta',\n", + " 'communes': [{'id': '02101', 'name': 'Antofagasta'},\n", + " {'id': '02102', 'name': 'Mejillones'},\n", + " {'id': '02103', 'name': 'Sierra Gorda'},\n", + " {'id': '02104', 'name': 'Taltal'}]},\n", + " {'id': '022',\n", + " 'name': 'El Loa',\n", + " 'communes': [{'id': '02201', 'name': 'Calama'},\n", + " {'id': '02202', 'name': 'Ollagüe'},\n", + " {'id': '02203', 'name': 'San Pedro de Atacama'}]},\n", + " {'id': '023',\n", + " 'name': 'Tocopilla',\n", + " 'communes': [{'id': '02301', 'name': 'Tocopilla'},\n", + " {'id': '02302', 'name': 'María Elena'}]}]},\n", + " {'id': '03',\n", + " 'name': 'Región de Atacama',\n", + " 'short_name': 'Atacama',\n", + " 'abbreviation': 'ATCMA',\n", + " 'iso_code': 'CL-AT',\n", + " 'provinces': [{'id': '031',\n", + " 'name': 'Copiapó',\n", + " 'communes': [{'id': '03101', 'name': 'Copiapó'},\n", + " {'id': '03102', 'name': 'Caldera'},\n", + " {'id': '03103', 'name': 'Tierra Amarilla'}]},\n", + " {'id': '032',\n", + " 'name': 'Chañaral',\n", + " 'communes': [{'id': '03201', 'name': 'Chañaral'},\n", + " {'id': '03202', 'name': 'Diego de Almagro'}]},\n", + " {'id': '033',\n", + " 'name': 'Huasco',\n", + " 'communes': [{'id': '03301', 'name': 'Vallenar'},\n", + " {'id': '03302', 'name': 'Alto del Carmen'},\n", + " {'id': '03303', 'name': 'Freirina'},\n", + " {'id': '03304', 'name': 'Huasco'}]}]},\n", + " {'id': '04',\n", + " 'name': 'Región de Coquimbo',\n", + " 'short_name': 'Coquimbo',\n", + " 'abbreviation': 'COQ',\n", + " 'iso_code': 'CL-CO',\n", + " 'provinces': [{'id': '041',\n", + " 'name': 'Elqui',\n", + " 'communes': [{'id': '04101', 'name': 'La Serena'},\n", + " {'id': '04102', 'name': 'Coquimbo'},\n", + " {'id': '04103', 'name': 'Andacollo'},\n", + " {'id': '04104', 'name': 'La Higuera'},\n", + " {'id': '04105', 'name': 'Paiguano'},\n", + " {'id': '04106', 'name': 'Vicuña'}]},\n", + " {'id': '042',\n", + " 'name': 'Choapa',\n", + " 'communes': [{'id': '04201', 'name': 'Illapel'},\n", + " {'id': '04202', 'name': 'Canela'},\n", + " {'id': '04203', 'name': 'Los Vilos'},\n", + " {'id': '04204', 'name': 'Salamanca'}]},\n", + " {'id': '043',\n", + " 'name': 'Limarí',\n", + " 'communes': [{'id': '04301', 'name': 'Ovalle'},\n", + " {'id': '04302', 'name': 'Combarbalá'},\n", + " {'id': '04303', 'name': 'Monte Patria'},\n", + " {'id': '04304', 'name': 'Punitaqui'},\n", + " {'id': '04305', 'name': 'Río Hurtado'}]}]},\n", + " {'id': '05',\n", + " 'name': 'Región de Valparaíso',\n", + " 'short_name': 'Valparaíso',\n", + " 'abbreviation': 'VALPO',\n", + " 'iso_code': 'CL-VS',\n", + " 'provinces': [{'id': '051',\n", + " 'name': 'Valparaíso',\n", + " 'communes': [{'id': '05101', 'name': 'Valparaíso'},\n", + " {'id': '05102', 'name': 'Casablanca'},\n", + " {'id': '05103', 'name': 'Concón'},\n", + " {'id': '05104', 'name': 'Juan Fernández'},\n", + " {'id': '05105', 'name': 'Puchuncaví'},\n", + " {'id': '05107', 'name': 'Quintero'},\n", + " {'id': '05109', 'name': 'Viña del Mar'}]},\n", + " {'id': '052',\n", + " 'name': 'Isla de Pascua',\n", + " 'communes': [{'id': '05201', 'name': 'Isla de Pascua'}]},\n", + " {'id': '053',\n", + " 'name': 'Los Andes',\n", + " 'communes': [{'id': '05301', 'name': 'Los Andes'},\n", + " {'id': '05302', 'name': 'Calle Larga'},\n", + " {'id': '05303', 'name': 'Rinconada'},\n", + " {'id': '05304', 'name': 'San Esteban'}]},\n", + " {'id': '054',\n", + " 'name': 'Petorca',\n", + " 'communes': [{'id': '05401', 'name': 'La Ligua'},\n", + " {'id': '05402', 'name': 'Cabildo'},\n", + " {'id': '05403', 'name': 'Papudo'},\n", + " {'id': '05404', 'name': 'Petorca'},\n", + " {'id': '05405', 'name': 'Zapallar'}]},\n", + " {'id': '055',\n", + " 'name': 'Quillota',\n", + " 'communes': [{'id': '05501', 'name': 'Quillota'},\n", + " {'id': '05502', 'name': 'Calera'},\n", + " {'id': '05503', 'name': 'Hijuelas'},\n", + " {'id': '05504', 'name': 'La Cruz'},\n", + " {'id': '05506', 'name': 'Nogales'}]},\n", + " {'id': '056',\n", + " 'name': 'San Antonio',\n", + " 'communes': [{'id': '05601', 'name': 'San Antonio'},\n", + " {'id': '05602', 'name': 'Algarrobo'},\n", + " {'id': '05603', 'name': 'Cartagena'},\n", + " {'id': '05604', 'name': 'El Quisco'},\n", + " {'id': '05605', 'name': 'El Tabo'},\n", + " {'id': '05606', 'name': 'Santo Domingo'}]},\n", + " {'id': '057',\n", + " 'name': 'San Felipe de Aconcagua',\n", + " 'communes': [{'id': '05701', 'name': 'San Felipe'},\n", + " {'id': '05702', 'name': 'Catemu'},\n", + " {'id': '05703', 'name': 'Llaillay'},\n", + " {'id': '05704', 'name': 'Panquehue'},\n", + " {'id': '05705', 'name': 'Putaendo'},\n", + " {'id': '05706', 'name': 'Santa María'}]},\n", + " {'id': '058',\n", + " 'name': 'Marga Marga',\n", + " 'communes': [{'id': '05801', 'name': 'Quilpué'},\n", + " {'id': '05802', 'name': 'Limache'},\n", + " {'id': '05803', 'name': 'Olmué'},\n", + " {'id': '05804', 'name': 'Villa Alemana'}]}]},\n", + " {'id': '06',\n", + " 'name': \"Región del Libertador General Bernardo O'Higgins\",\n", + " 'short_name': \"Libertador General Bernardo O'Higgins\",\n", + " 'abbreviation': 'LGBO',\n", + " 'iso_code': 'CL-LI',\n", + " 'provinces': [{'id': '061',\n", + " 'name': 'Cachapoal',\n", + " 'communes': [{'id': '06101', 'name': 'Rancagua'},\n", + " {'id': '06102', 'name': 'Codegua'},\n", + " {'id': '06103', 'name': 'Coinco'},\n", + " {'id': '06104', 'name': 'Coltauco'},\n", + " {'id': '06105', 'name': 'Doñihue'},\n", + " {'id': '06106', 'name': 'Graneros'},\n", + " {'id': '06107', 'name': 'Las Cabras'},\n", + " {'id': '06108', 'name': 'Machalí'},\n", + " {'id': '06109', 'name': 'Malloa'},\n", + " {'id': '06110', 'name': 'Mostazal'},\n", + " {'id': '06111', 'name': 'Olivar'},\n", + " {'id': '06112', 'name': 'Peumo'},\n", + " {'id': '06113', 'name': 'Pichidegua'},\n", + " {'id': '06114', 'name': 'Quinta de Tilcoco'},\n", + " {'id': '06115', 'name': 'Rengo'},\n", + " {'id': '06116', 'name': 'Requínoa'},\n", + " {'id': '06117', 'name': 'San Vicente'}]},\n", + " {'id': '062',\n", + " 'name': 'Cardenal Caro',\n", + " 'communes': [{'id': '06201', 'name': 'Pichilemu'},\n", + " {'id': '06202', 'name': 'La Estrella'},\n", + " {'id': '06203', 'name': 'Litueche'},\n", + " {'id': '06204', 'name': 'Marchihue'},\n", + " {'id': '06205', 'name': 'Navidad'},\n", + " {'id': '06206', 'name': 'Paredones'}]},\n", + " {'id': '063',\n", + " 'name': 'Colchagua',\n", + " 'communes': [{'id': '06301', 'name': 'San Fernando'},\n", + " {'id': '06302', 'name': 'Chépica'},\n", + " {'id': '06303', 'name': 'Chimbarongo'},\n", + " {'id': '06304', 'name': 'Lolol'},\n", + " {'id': '06305', 'name': 'Nancagua'},\n", + " {'id': '06306', 'name': 'Palmilla'},\n", + " {'id': '06307', 'name': 'Peralillo'},\n", + " {'id': '06308', 'name': 'Placilla'},\n", + " {'id': '06309', 'name': 'Pumanque'},\n", + " {'id': '06310', 'name': 'Santa Cruz'}]}]},\n", + " {'id': '07',\n", + " 'name': 'Región del Maule',\n", + " 'short_name': 'Maule',\n", + " 'abbreviation': 'MAULE',\n", + " 'iso_code': 'CL-ML',\n", + " 'provinces': [{'id': '071',\n", + " 'name': 'Talca',\n", + " 'communes': [{'id': '07101', 'name': 'Talca'},\n", + " {'id': '07102', 'name': 'Constitución'},\n", + " {'id': '07103', 'name': 'Curepto'},\n", + " {'id': '07104', 'name': 'Empedrado'},\n", + " {'id': '07105', 'name': 'Maule'},\n", + " {'id': '07106', 'name': 'Pelarco'},\n", + " {'id': '07107', 'name': 'Pencahue'},\n", + " {'id': '07108', 'name': 'Río Claro'},\n", + " {'id': '07109', 'name': 'San Clemente'},\n", + " {'id': '07110', 'name': 'San Rafael'}]},\n", + " {'id': '072',\n", + " 'name': 'Cauquenes',\n", + " 'communes': [{'id': '07201', 'name': 'Cauquenes'},\n", + " {'id': '07202', 'name': 'Chanco'},\n", + " {'id': '07203', 'name': 'Pelluhue'}]},\n", + " {'id': '073',\n", + " 'name': 'Curicó',\n", + " 'communes': [{'id': '07301', 'name': 'Curicó'},\n", + " {'id': '07302', 'name': 'Hualañé'},\n", + " {'id': '07303', 'name': 'Licantén'},\n", + " {'id': '07304', 'name': 'Molina'},\n", + " {'id': '07305', 'name': 'Rauco'},\n", + " {'id': '07306', 'name': 'Romeral'},\n", + " {'id': '07307', 'name': 'Sagrada Familia'},\n", + " {'id': '07308', 'name': 'Teno'},\n", + " {'id': '07309', 'name': 'Vichuquén'}]},\n", + " {'id': '074',\n", + " 'name': 'Linares',\n", + " 'communes': [{'id': '07401', 'name': 'Linares'},\n", + " {'id': '07402', 'name': 'Colbún'},\n", + " {'id': '07403', 'name': 'Longaví'},\n", + " {'id': '07404', 'name': 'Parral'},\n", + " {'id': '07405', 'name': 'Retiro'},\n", + " {'id': '07406', 'name': 'San Javier'},\n", + " {'id': '07407', 'name': 'Villa Alegre'},\n", + " {'id': '07408', 'name': 'Yerbas Buenas'}]}]},\n", + " {'id': '08',\n", + " 'name': 'Región del Biobío',\n", + " 'short_name': 'Biobío',\n", + " 'abbreviation': 'BBIO',\n", + " 'iso_code': 'CL-BI',\n", + " 'provinces': [{'id': '081',\n", + " 'name': 'Concepción',\n", + " 'communes': [{'id': '08101', 'name': 'Concepción'},\n", + " {'id': '08102', 'name': 'Coronel'},\n", + " {'id': '08103', 'name': 'Chiguayante'},\n", + " {'id': '08104', 'name': 'Florida'},\n", + " {'id': '08105', 'name': 'Hualqui'},\n", + " {'id': '08106', 'name': 'Lota'},\n", + " {'id': '08107', 'name': 'Penco'},\n", + " {'id': '08108', 'name': 'San Pedro de la Paz'},\n", + " {'id': '08109', 'name': 'Santa Juana'},\n", + " {'id': '08110', 'name': 'Talcahuano'},\n", + " {'id': '08111', 'name': 'Tomé'},\n", + " {'id': '08112', 'name': 'Hualpén'}]},\n", + " {'id': '082',\n", + " 'name': 'Arauco',\n", + " 'communes': [{'id': '08201', 'name': 'Lebu'},\n", + " {'id': '08202', 'name': 'Arauco'},\n", + " {'id': '08203', 'name': 'Cañete'},\n", + " {'id': '08204', 'name': 'Contulmo'},\n", + " {'id': '08205', 'name': 'Curanilahue'},\n", + " {'id': '08206', 'name': 'Los Alamos'},\n", + " {'id': '08207', 'name': 'Tirúa'}]},\n", + " {'id': '083',\n", + " 'name': 'Biobío',\n", + " 'communes': [{'id': '08301', 'name': 'Los Angeles'},\n", + " {'id': '08302', 'name': 'Antuco'},\n", + " {'id': '08303', 'name': 'Cabrero'},\n", + " {'id': '08304', 'name': 'Laja'},\n", + " {'id': '08305', 'name': 'Mulchén'},\n", + " {'id': '08306', 'name': 'Nacimiento'},\n", + " {'id': '08307', 'name': 'Negrete'},\n", + " {'id': '08308', 'name': 'Quilaco'},\n", + " {'id': '08309', 'name': 'Quilleco'},\n", + " {'id': '08310', 'name': 'San Rosendo'},\n", + " {'id': '08311', 'name': 'Santa Bárbara'},\n", + " {'id': '08312', 'name': 'Tucapel'},\n", + " {'id': '08313', 'name': 'Yumbel'},\n", + " {'id': '08314', 'name': 'Alto Biobío'}]}]},\n", + " {'id': '09',\n", + " 'name': 'Región de La Araucanía',\n", + " 'short_name': 'La Araucanía',\n", + " 'abbreviation': 'ARAUC',\n", + " 'iso_code': 'CL-AR',\n", + " 'provinces': [{'id': '091',\n", + " 'name': 'Cautín',\n", + " 'communes': [{'id': '09101', 'name': 'Temuco'},\n", + " {'id': '09102', 'name': 'Carahue'},\n", + " {'id': '09103', 'name': 'Cunco'},\n", + " {'id': '09104', 'name': 'Curarrehue'},\n", + " {'id': '09105', 'name': 'Freire'},\n", + " {'id': '09106', 'name': 'Galvarino'},\n", + " {'id': '09107', 'name': 'Gorbea'},\n", + " {'id': '09108', 'name': 'Lautaro'},\n", + " {'id': '09109', 'name': 'Loncoche'},\n", + " {'id': '09110', 'name': 'Melipeuco'},\n", + " {'id': '09111', 'name': 'Nueva Imperial'},\n", + " {'id': '09112', 'name': 'Padre Las Casas'},\n", + " {'id': '09113', 'name': 'Perquenco'},\n", + " {'id': '09114', 'name': 'Pitrufquén'},\n", + " {'id': '09115', 'name': 'Pucón'},\n", + " {'id': '09116', 'name': 'Saavedra'},\n", + " {'id': '09117', 'name': 'Teodoro Schmidt'},\n", + " {'id': '09118', 'name': 'Toltén'},\n", + " {'id': '09119', 'name': 'Vilcún'},\n", + " {'id': '09120', 'name': 'Villarrica'},\n", + " {'id': '09121', 'name': 'Cholchol'}]},\n", + " {'id': '092',\n", + " 'name': 'Malleco',\n", + " 'communes': [{'id': '09201', 'name': 'Angol'},\n", + " {'id': '09202', 'name': 'Collipulli'},\n", + " {'id': '09203', 'name': 'Curacautín'},\n", + " {'id': '09204', 'name': 'Ercilla'},\n", + " {'id': '09205', 'name': 'Lonquimay'},\n", + " {'id': '09206', 'name': 'Los Sauces'},\n", + " {'id': '09207', 'name': 'Lumaco'},\n", + " {'id': '09208', 'name': 'Purén'},\n", + " {'id': '09209', 'name': 'Renaico'},\n", + " {'id': '09210', 'name': 'Traiguén'},\n", + " {'id': '09211', 'name': 'Victoria'}]}]},\n", + " {'id': '10',\n", + " 'name': 'Región de Los Lagos',\n", + " 'short_name': 'Los Lagos',\n", + " 'abbreviation': 'LAGOS',\n", + " 'iso_code': 'CL-LL',\n", + " 'provinces': [{'id': '101',\n", + " 'name': 'Llanquihue',\n", + " 'communes': [{'id': '10101', 'name': 'Puerto Montt'},\n", + " {'id': '10102', 'name': 'Calbuco'},\n", + " {'id': '10103', 'name': 'Cochamó'},\n", + " {'id': '10104', 'name': 'Fresia'},\n", + " {'id': '10105', 'name': 'Frutillar'},\n", + " {'id': '10106', 'name': 'Los Muermos'},\n", + " {'id': '10107', 'name': 'Llanquihue'},\n", + " {'id': '10108', 'name': 'Maullín'},\n", + " {'id': '10109', 'name': 'Puerto Varas'}]},\n", + " {'id': '102',\n", + " 'name': 'Chiloé',\n", + " 'communes': [{'id': '10201', 'name': 'Castro'},\n", + " {'id': '10202', 'name': 'Ancud'},\n", + " {'id': '10203', 'name': 'Chonchi'},\n", + " {'id': '10204', 'name': 'Curaco de Vélez'},\n", + " {'id': '10205', 'name': 'Dalcahue'},\n", + " {'id': '10206', 'name': 'Puqueldón'},\n", + " {'id': '10207', 'name': 'Queilén'},\n", + " {'id': '10208', 'name': 'Quellón'},\n", + " {'id': '10209', 'name': 'Quemchi'},\n", + " {'id': '10210', 'name': 'Quinchao'}]},\n", + " {'id': '103',\n", + " 'name': 'Osorno',\n", + " 'communes': [{'id': '10301', 'name': 'Osorno'},\n", + " {'id': '10302', 'name': 'Puerto Octay'},\n", + " {'id': '10303', 'name': 'Purranque'},\n", + " {'id': '10304', 'name': 'Puyehue'},\n", + " {'id': '10305', 'name': 'Río Negro'},\n", + " {'id': '10306', 'name': 'San Juan de la Costa'},\n", + " {'id': '10307', 'name': 'San Pablo'}]},\n", + " {'id': '104',\n", + " 'name': 'Palena',\n", + " 'communes': [{'id': '10401', 'name': 'Chaitén'},\n", + " {'id': '10402', 'name': 'Futaleufú'},\n", + " {'id': '10403', 'name': 'Hualaihué'},\n", + " {'id': '10404', 'name': 'Palena'}]}]},\n", + " {'id': '11',\n", + " 'name': 'Región Aysén del General Carlos Ibáñez del Campo',\n", + " 'short_name': 'Aysén del General Carlos Ibáñez del Campo',\n", + " 'abbreviation': 'AYSEN',\n", + " 'iso_code': 'CL-AI',\n", + " 'provinces': [{'id': '111',\n", + " 'name': 'Coyhaique',\n", + " 'communes': [{'id': '11101', 'name': 'Coyhaique'},\n", + " {'id': '11102', 'name': 'Lago Verde'}]},\n", + " {'id': '112',\n", + " 'name': 'Aysén',\n", + " 'communes': [{'id': '11201', 'name': 'Aysén'},\n", + " {'id': '11202', 'name': 'Cisnes'},\n", + " {'id': '11203', 'name': 'Guaitecas'}]},\n", + " {'id': '113',\n", + " 'name': 'Capitán Prat',\n", + " 'communes': [{'id': '11301', 'name': 'Cochrane'},\n", + " {'id': '11302', 'name': \"O'Higgins\"},\n", + " {'id': '11303', 'name': 'Tortel'}]},\n", + " {'id': '114',\n", + " 'name': 'General Carrera',\n", + " 'communes': [{'id': '11401', 'name': 'Chile Chico'},\n", + " {'id': '11402', 'name': 'Río Ibáñez'}]}]},\n", + " {'id': '12',\n", + " 'name': 'Región de Magallanes y de la Antártica Chilena',\n", + " 'short_name': 'Magallanes y de la Antártica Chilena',\n", + " 'abbreviation': 'MAG',\n", + " 'iso_code': 'CL-MA',\n", + " 'provinces': [{'id': '121',\n", + " 'name': 'Magallanes',\n", + " 'communes': [{'id': '12101', 'name': 'Punta Arenas'},\n", + " {'id': '12102', 'name': 'Laguna Blanca'},\n", + " {'id': '12103', 'name': 'Río Verde'},\n", + " {'id': '12104', 'name': 'San Gregorio'}]},\n", + " {'id': '122',\n", + " 'name': 'Antártica Chilena',\n", + " 'communes': [{'id': '12201', 'name': 'Cabo de Hornos'},\n", + " {'id': '12202', 'name': 'Antártica'}]},\n", + " {'id': '123',\n", + " 'name': 'Tierra del Fuego',\n", + " 'communes': [{'id': '12301', 'name': 'Porvenir'},\n", + " {'id': '12302', 'name': 'Primavera'},\n", + " {'id': '12303', 'name': 'Timaukel'}]},\n", + " {'id': '124',\n", + " 'name': 'Última Esperanza',\n", + " 'communes': [{'id': '12401', 'name': 'Natales'},\n", + " {'id': '12402', 'name': 'Torres del Paine'}]}]},\n", + " {'id': '13',\n", + " 'name': 'Región Metropolitana de Santiago',\n", + " 'short_name': 'Metropolitana de Santiago',\n", + " 'abbreviation': 'RM',\n", + " 'iso_code': 'CL-RM',\n", + " 'provinces': [{'id': '131',\n", + " 'name': 'Santiago',\n", + " 'communes': [{'id': '13101', 'name': 'Santiago'},\n", + " {'id': '13102', 'name': 'Cerrillos'},\n", + " {'id': '13103', 'name': 'Cerro Navia'},\n", + " {'id': '13104', 'name': 'Conchalí'},\n", + " {'id': '13105', 'name': 'El Bosque'},\n", + " {'id': '13106', 'name': 'Estación Central'},\n", + " {'id': '13107', 'name': 'Huechuraba'},\n", + " {'id': '13108', 'name': 'Independencia'},\n", + " {'id': '13109', 'name': 'La Cisterna'},\n", + " {'id': '13110', 'name': 'La Florida'},\n", + " {'id': '13111', 'name': 'La Granja'},\n", + " {'id': '13112', 'name': 'La Pintana'},\n", + " {'id': '13113', 'name': 'La Reina'},\n", + " {'id': '13114', 'name': 'Las Condes'},\n", + " {'id': '13115', 'name': 'Lo Barnechea'},\n", + " {'id': '13116', 'name': 'Lo Espejo'},\n", + " {'id': '13117', 'name': 'Lo Prado'},\n", + " {'id': '13118', 'name': 'Macul'},\n", + " {'id': '13119', 'name': 'Maipú'},\n", + " {'id': '13120', 'name': 'Ñuñoa'},\n", + " {'id': '13121', 'name': 'Pedro Aguirre Cerda'},\n", + " {'id': '13122', 'name': 'Peñalolén'},\n", + " {'id': '13123', 'name': 'Providencia'},\n", + " {'id': '13124', 'name': 'Pudahuel'},\n", + " {'id': '13125', 'name': 'Quilicura'},\n", + " {'id': '13126', 'name': 'Quinta Normal'},\n", + " {'id': '13127', 'name': 'Recoleta'},\n", + " {'id': '13128', 'name': 'Renca'},\n", + " {'id': '13129', 'name': 'San Joaquín'},\n", + " {'id': '13130', 'name': 'San Miguel'},\n", + " {'id': '13131', 'name': 'San Ramón'},\n", + " {'id': '13132', 'name': 'Vitacura'}]},\n", + " {'id': '132',\n", + " 'name': 'Cordillera',\n", + " 'communes': [{'id': '13201', 'name': 'Puente Alto'},\n", + " {'id': '13202', 'name': 'Pirque'},\n", + " {'id': '13203', 'name': 'San José de Maipo'}]},\n", + " {'id': '133',\n", + " 'name': 'Chacabuco',\n", + " 'communes': [{'id': '13301', 'name': 'Colina'},\n", + " {'id': '13302', 'name': 'Lampa'},\n", + " {'id': '13303', 'name': 'Tiltil'}]},\n", + " {'id': '134',\n", + " 'name': 'Maipo',\n", + " 'communes': [{'id': '13401', 'name': 'San Bernardo'},\n", + " {'id': '13402', 'name': 'Buin'},\n", + " {'id': '13403', 'name': 'Calera de Tango'},\n", + " {'id': '13404', 'name': 'Paine'}]},\n", + " {'id': '135',\n", + " 'name': 'Melipilla',\n", + " 'communes': [{'id': '13501', 'name': 'Melipilla'},\n", + " {'id': '13502', 'name': 'Alhué'},\n", + " {'id': '13503', 'name': 'Curacaví'},\n", + " {'id': '13504', 'name': 'María Pinto'},\n", + " {'id': '13505', 'name': 'San Pedro'}]},\n", + " {'id': '136',\n", + " 'name': 'Talagante',\n", + " 'communes': [{'id': '13601', 'name': 'Talagante'},\n", + " {'id': '13602', 'name': 'El Monte'},\n", + " {'id': '13603', 'name': 'Isla de Maipo'},\n", + " {'id': '13604', 'name': 'Padre Hurtado'},\n", + " {'id': '13605', 'name': 'Peñaflor'}]}]},\n", + " {'id': '14',\n", + " 'name': 'Región de Los Ríos',\n", + " 'short_name': 'Los Ríos',\n", + " 'abbreviation': 'RIOS',\n", + " 'iso_code': 'CL-LR',\n", + " 'provinces': [{'id': '141',\n", + " 'name': 'Valdivia',\n", + " 'communes': [{'id': '14101', 'name': 'Valdivia'},\n", + " {'id': '14102', 'name': 'Corral'},\n", + " {'id': '14103', 'name': 'Lanco'},\n", + " {'id': '14104', 'name': 'Los Lagos'},\n", + " {'id': '14105', 'name': 'Máfil'},\n", + " {'id': '14106', 'name': 'Mariquina'},\n", + " {'id': '14107', 'name': 'Paillaco'},\n", + " {'id': '14108', 'name': 'Panguipulli'}]},\n", + " {'id': '142',\n", + " 'name': 'Ranco',\n", + " 'communes': [{'id': '14201', 'name': 'La Unión'},\n", + " {'id': '14202', 'name': 'Futrono'},\n", + " {'id': '14203', 'name': 'Lago Ranco'},\n", + " {'id': '14204', 'name': 'Río Bueno'}]}]},\n", + " {'id': '15',\n", + " 'name': 'Región de Arica y Parinacota',\n", + " 'short_name': 'Arica y Parinacota',\n", + " 'abbreviation': 'AyP',\n", + " 'iso_code': 'CL-AP',\n", + " 'provinces': [{'id': '151',\n", + " 'name': 'Arica',\n", + " 'communes': [{'id': '15101', 'name': 'Arica'},\n", + " {'id': '15102', 'name': 'Camarones'}]},\n", + " {'id': '152',\n", + " 'name': 'Parinacota',\n", + " 'communes': [{'id': '15201', 'name': 'Putre'},\n", + " {'id': '15202', 'name': 'General Lagos'}]}]},\n", + " {'id': '16',\n", + " 'name': 'Región de Ñuble',\n", + " 'short_name': 'Ñuble',\n", + " 'abbreviation': 'NUBLE',\n", + " 'iso_code': 'CL-NB',\n", + " 'provinces': [{'id': '161',\n", + " 'name': 'Diguillín',\n", + " 'communes': [{'id': '16101', 'name': 'Chillán'},\n", + " {'id': '16102', 'name': 'Bulnes'},\n", + " {'id': '16103', 'name': 'Chillán Viejo'},\n", + " {'id': '16104', 'name': 'El Carmen'},\n", + " {'id': '16105', 'name': 'Pemuco'},\n", + " {'id': '16106', 'name': 'Pinto'},\n", + " {'id': '16107', 'name': 'Quillón'},\n", + " {'id': '16108', 'name': 'San Ignacio'},\n", + " {'id': '16109', 'name': 'Yungay'}]},\n", + " {'id': '162',\n", + " 'name': 'Itata',\n", + " 'communes': [{'id': '16201', 'name': 'Quirihue'},\n", + " {'id': '16202', 'name': 'Cobquecura'},\n", + " {'id': '16203', 'name': 'Coelemu'},\n", + " {'id': '16204', 'name': 'Ninhue'},\n", + " {'id': '16205', 'name': 'Portezuelo'},\n", + " {'id': '16206', 'name': 'Ranquil'},\n", + " {'id': '16207', 'name': 'Treguaco'}]},\n", + " {'id': '163',\n", + " 'name': 'Punilla',\n", + " 'communes': [{'id': '16301', 'name': 'San Carlos'},\n", + " {'id': '16302', 'name': 'Coihueco'},\n", + " {'id': '16303', 'name': 'Ñiquén'},\n", + " {'id': '16304', 'name': 'San Fabián'},\n", + " {'id': '16305', 'name': 'San Nicolás'}]}]}]}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" } ], + "source": [ + "communes_grouped = communes_df.groupby(\"province_id\")\n", + "provinces_df[\"communes\"] = provinces_df[\"id\"].apply(\n", + " lambda x: [\n", + " {\"id\": row[\"id\"], \"name\": row[\"name\"]}\n", + " for _, row in communes_grouped.get_group(x).iterrows()\n", + " if x in communes_grouped.groups\n", + " ]\n", + ")\n", + "\n", + "provinces_grouped = provinces_df.groupby(\"region_id\")\n", + "regions_df[\"provinces\"] = regions_df[\"id\"].apply(\n", + " lambda x: [\n", + " {\"id\": row[\"id\"],\"name\": row[\"name\"],\"communes\": row[\"communes\"]}\n", + " for _, row in provinces_grouped.get_group(x).iterrows()\n", + " if x in provinces_grouped.groups\n", + " ]\n", + ")\n", + "\n", + "regions = {\n", + " \"country\": \"Chile\",\n", + " \"regions\": [\n", + " {\n", + " \"id\": row[\"id\"],\n", + " \"name\": row[\"name\"],\n", + " \"short_name\": row[\"short_name\"],\n", + " \"abbreviation\": row[\"abbreviation\"],\n", + " \"iso_code\": row[\"iso_code\"],\n", + " \"provinces\": row[\"provinces\"],\n", + " }\n", + " for _, row in regions_df.iterrows()\n", + " ],\n", + "}\n", + "regions\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Construcción de Región SQL" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Definir el modelo de la tabla\n", "table_model = \"\"\"\n", @@ -311,81 +4356,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "CREATE TABLE province (\n", - " id VARCHAR(3) PRIMARY KEY,\n", - " name VARCHAR(255),\n", - " region_id VARCHAR(2),\n", - " FOREIGN KEY (region_id) REFERENCES region(id)\n", - ");\n", - "\n", - "INSERT INTO province (id, name, region_id) VALUES ('011', 'Iquique', '01');\n", - "INSERT INTO province (id, name, region_id) VALUES ('014', 'Tamarugal', '01');\n", - "INSERT INTO province (id, name, region_id) VALUES ('021', 'Antofagasta', '02');\n", - "INSERT INTO province (id, name, region_id) VALUES ('022', 'El Loa', '02');\n", - "INSERT INTO province (id, name, region_id) VALUES ('023', 'Tocopilla', '02');\n", - "INSERT INTO province (id, name, region_id) VALUES ('031', 'Copiapó', '03');\n", - "INSERT INTO province (id, name, region_id) VALUES ('032', 'Chañaral', '03');\n", - "INSERT INTO province (id, name, region_id) VALUES ('033', 'Huasco', '03');\n", - "INSERT INTO province (id, name, region_id) VALUES ('041', 'Elqui', '04');\n", - "INSERT INTO province (id, name, region_id) VALUES ('042', 'Choapa', '04');\n", - "INSERT INTO province (id, name, region_id) VALUES ('043', 'Limarí', '04');\n", - "INSERT INTO province (id, name, region_id) VALUES ('051', 'Valparaíso', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('052', 'Isla de Pascua', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('053', 'Los Andes', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('054', 'Petorca', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('055', 'Quillota', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('056', 'San Antonio', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('057', 'San Felipe de Aconcagua', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('058', 'Marga Marga', '05');\n", - "INSERT INTO province (id, name, region_id) VALUES ('061', 'Cachapoal', '06');\n", - "INSERT INTO province (id, name, region_id) VALUES ('062', 'Cardenal Caro', '06');\n", - "INSERT INTO province (id, name, region_id) VALUES ('063', 'Colchagua', '06');\n", - "INSERT INTO province (id, name, region_id) VALUES ('071', 'Talca', '07');\n", - "INSERT INTO province (id, name, region_id) VALUES ('072', 'Cauquenes', '07');\n", - "INSERT INTO province (id, name, region_id) VALUES ('073', 'Curicó', '07');\n", - "INSERT INTO province (id, name, region_id) VALUES ('074', 'Linares', '07');\n", - "INSERT INTO province (id, name, region_id) VALUES ('081', 'Concepción', '08');\n", - "INSERT INTO province (id, name, region_id) VALUES ('082', 'Arauco', '08');\n", - "INSERT INTO province (id, name, region_id) VALUES ('083', 'Biobío', '08');\n", - "INSERT INTO province (id, name, region_id) VALUES ('091', 'Cautín', '09');\n", - "INSERT INTO province (id, name, region_id) VALUES ('092', 'Malleco', '09');\n", - "INSERT INTO province (id, name, region_id) VALUES ('101', 'Llanquihue', '10');\n", - "INSERT INTO province (id, name, region_id) VALUES ('102', 'Chiloé', '10');\n", - "INSERT INTO province (id, name, region_id) VALUES ('103', 'Osorno', '10');\n", - "INSERT INTO province (id, name, region_id) VALUES ('104', 'Palena', '10');\n", - "INSERT INTO province (id, name, region_id) VALUES ('111', 'Coyhaique', '11');\n", - "INSERT INTO province (id, name, region_id) VALUES ('112', 'Aysén', '11');\n", - "INSERT INTO province (id, name, region_id) VALUES ('113', 'Capitán Prat', '11');\n", - "INSERT INTO province (id, name, region_id) VALUES ('114', 'General Carrera', '11');\n", - "INSERT INTO province (id, name, region_id) VALUES ('121', 'Magallanes', '12');\n", - "INSERT INTO province (id, name, region_id) VALUES ('122', 'Antártica Chilena', '12');\n", - "INSERT INTO province (id, name, region_id) VALUES ('123', 'Tierra del Fuego', '12');\n", - "INSERT INTO province (id, name, region_id) VALUES ('124', 'Última Esperanza', '12');\n", - "INSERT INTO province (id, name, region_id) VALUES ('131', 'Santiago', '13');\n", - "INSERT INTO province (id, name, region_id) VALUES ('132', 'Cordillera', '13');\n", - "INSERT INTO province (id, name, region_id) VALUES ('133', 'Chacabuco', '13');\n", - "INSERT INTO province (id, name, region_id) VALUES ('134', 'Maipo', '13');\n", - "INSERT INTO province (id, name, region_id) VALUES ('135', 'Melipilla', '13');\n", - "INSERT INTO province (id, name, region_id) VALUES ('136', 'Talagante', '13');\n", - "INSERT INTO province (id, name, region_id) VALUES ('141', 'Valdivia', '14');\n", - "INSERT INTO province (id, name, region_id) VALUES ('142', 'Ranco', '14');\n", - "INSERT INTO province (id, name, region_id) VALUES ('151', 'Arica', '15');\n", - "INSERT INTO province (id, name, region_id) VALUES ('152', 'Parinacota', '15');\n", - "INSERT INTO province (id, name, region_id) VALUES ('161', 'Diguillín', '16');\n", - "INSERT INTO province (id, name, region_id) VALUES ('162', 'Itata', '16');\n", - "INSERT INTO province (id, name, region_id) VALUES ('163', 'Punilla', '16');\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# Definir el modelo de la tabla\n", "provinces_table_model = \"\"\"\n", @@ -415,371 +4388,9 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "CREATE TABLE commune (\n", - " id VARCHAR(5) PRIMARY KEY,\n", - " name VARCHAR(255),\n", - " province_id VARCHAR(3),\n", - " FOREIGN KEY (province_id) REFERENCES province(id)\n", - ");\n", - "\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01101', 'Iquique', '011');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01107', 'Alto Hospicio', '011');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01401', 'Pozo Almonte', '014');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01402', 'Camiña', '014');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01403', 'Colchane', '014');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01404', 'Huara', '014');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('01405', 'Pica', '014');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02101', 'Antofagasta', '021');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02102', 'Mejillones', '021');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02103', 'Sierra Gorda', '021');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02104', 'Taltal', '021');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02201', 'Calama', '022');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02202', 'Ollagüe', '022');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02203', 'San Pedro de Atacama', '022');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02301', 'Tocopilla', '023');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('02302', 'María Elena', '023');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03101', 'Copiapó', '031');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03102', 'Caldera', '031');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03103', 'Tierra Amarilla', '031');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03201', 'Chañaral', '032');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03202', 'Diego de Almagro', '032');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03301', 'Vallenar', '033');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03302', 'Alto del Carmen', '033');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03303', 'Freirina', '033');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('03304', 'Huasco', '033');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04101', 'La Serena', '041');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04102', 'Coquimbo', '041');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04103', 'Andacollo', '041');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04104', 'La Higuera', '041');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04105', 'Paiguano', '041');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04106', 'Vicuña', '041');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04201', 'Illapel', '042');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04202', 'Canela', '042');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04203', 'Los Vilos', '042');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04204', 'Salamanca', '042');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04301', 'Ovalle', '043');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04302', 'Combarbalá', '043');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04303', 'Monte Patria', '043');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04304', 'Punitaqui', '043');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('04305', 'Río Hurtado', '043');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05101', 'Valparaíso', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05102', 'Casablanca', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05103', 'Concón', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05104', 'Juan Fernández', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05105', 'Puchuncaví', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05107', 'Quintero', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05109', 'Viña del Mar', '051');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05201', 'Isla de Pascua', '052');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05301', 'Los Andes', '053');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05302', 'Calle Larga', '053');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05303', 'Rinconada', '053');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05304', 'San Esteban', '053');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05401', 'La Ligua', '054');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05402', 'Cabildo', '054');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05403', 'Papudo', '054');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05404', 'Petorca', '054');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05405', 'Zapallar', '054');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05501', 'Quillota', '055');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05502', 'Calera', '055');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05503', 'Hijuelas', '055');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05504', 'La Cruz', '055');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05506', 'Nogales', '055');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05601', 'San Antonio', '056');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05602', 'Algarrobo', '056');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05603', 'Cartagena', '056');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05604', 'El Quisco', '056');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05605', 'El Tabo', '056');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05606', 'Santo Domingo', '056');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05701', 'San Felipe', '057');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05702', 'Catemu', '057');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05703', 'Llaillay', '057');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05704', 'Panquehue', '057');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05705', 'Putaendo', '057');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05706', 'Santa María', '057');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05801', 'Quilpué', '058');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05802', 'Limache', '058');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05803', 'Olmué', '058');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('05804', 'Villa Alemana', '058');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06101', 'Rancagua', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06102', 'Codegua', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06103', 'Coinco', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06104', 'Coltauco', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06105', 'Doñihue', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06106', 'Graneros', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06107', 'Las Cabras', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06108', 'Machalí', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06109', 'Malloa', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06110', 'Mostazal', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06111', 'Olivar', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06112', 'Peumo', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06113', 'Pichidegua', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06114', 'Quinta de Tilcoco', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06115', 'Rengo', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06116', 'Requínoa', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06117', 'San Vicente', '061');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06201', 'Pichilemu', '062');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06202', 'La Estrella', '062');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06203', 'Litueche', '062');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06204', 'Marchihue', '062');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06205', 'Navidad', '062');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06206', 'Paredones', '062');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06301', 'San Fernando', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06302', 'Chépica', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06303', 'Chimbarongo', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06304', 'Lolol', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06305', 'Nancagua', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06306', 'Palmilla', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06307', 'Peralillo', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06308', 'Placilla', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06309', 'Pumanque', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('06310', 'Santa Cruz', '063');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07101', 'Talca', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07102', 'Constitución', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07103', 'Curepto', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07104', 'Empedrado', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07105', 'Maule', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07106', 'Pelarco', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07107', 'Pencahue', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07108', 'Río Claro', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07109', 'San Clemente', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07110', 'San Rafael', '071');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07201', 'Cauquenes', '072');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07202', 'Chanco', '072');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07203', 'Pelluhue', '072');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07301', 'Curicó', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07302', 'Hualañé', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07303', 'Licantén', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07304', 'Molina', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07305', 'Rauco', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07306', 'Romeral', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07307', 'Sagrada Familia', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07308', 'Teno', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07309', 'Vichuquén', '073');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07401', 'Linares', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07402', 'Colbún', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07403', 'Longaví', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07404', 'Parral', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07405', 'Retiro', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07406', 'San Javier', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07407', 'Villa Alegre', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('07408', 'Yerbas Buenas', '074');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08101', 'Concepción', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08102', 'Coronel', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08103', 'Chiguayante', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08104', 'Florida', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08105', 'Hualqui', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08106', 'Lota', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08107', 'Penco', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08108', 'San Pedro de la Paz', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08109', 'Santa Juana', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08110', 'Talcahuano', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08111', 'Tomé', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08112', 'Hualpén', '081');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08201', 'Lebu', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08202', 'Arauco', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08203', 'Cañete', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08204', 'Contulmo', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08205', 'Curanilahue', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08206', 'Los Alamos', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08207', 'Tirúa', '082');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08301', 'Los Angeles', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08302', 'Antuco', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08303', 'Cabrero', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08304', 'Laja', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08305', 'Mulchén', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08306', 'Nacimiento', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08307', 'Negrete', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08308', 'Quilaco', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08309', 'Quilleco', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08310', 'San Rosendo', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08311', 'Santa Bárbara', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08312', 'Tucapel', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08313', 'Yumbel', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('08314', 'Alto Biobío', '083');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09101', 'Temuco', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09102', 'Carahue', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09103', 'Cunco', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09104', 'Curarrehue', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09105', 'Freire', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09106', 'Galvarino', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09107', 'Gorbea', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09108', 'Lautaro', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09109', 'Loncoche', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09110', 'Melipeuco', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09111', 'Nueva Imperial', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09112', 'Padre Las Casas', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09113', 'Perquenco', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09114', 'Pitrufquén', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09115', 'Pucón', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09116', 'Saavedra', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09117', 'Teodoro Schmidt', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09118', 'Toltén', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09119', 'Vilcún', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09120', 'Villarrica', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09121', 'Cholchol', '091');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09201', 'Angol', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09202', 'Collipulli', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09203', 'Curacautín', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09204', 'Ercilla', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09205', 'Lonquimay', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09206', 'Los Sauces', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09207', 'Lumaco', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09208', 'Purén', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09209', 'Renaico', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09210', 'Traiguén', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('09211', 'Victoria', '092');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10101', 'Puerto Montt', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10102', 'Calbuco', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10103', 'Cochamó', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10104', 'Fresia', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10105', 'Frutillar', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10106', 'Los Muermos', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10107', 'Llanquihue', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10108', 'Maullín', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10109', 'Puerto Varas', '101');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10201', 'Castro', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10202', 'Ancud', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10203', 'Chonchi', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10204', 'Curaco de Vélez', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10205', 'Dalcahue', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10206', 'Puqueldón', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10207', 'Queilén', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10208', 'Quellón', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10209', 'Quemchi', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10210', 'Quinchao', '102');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10301', 'Osorno', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10302', 'Puerto Octay', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10303', 'Purranque', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10304', 'Puyehue', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10305', 'Río Negro', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10306', 'San Juan de la Costa', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10307', 'San Pablo', '103');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10401', 'Chaitén', '104');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10402', 'Futaleufú', '104');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10403', 'Hualaihué', '104');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('10404', 'Palena', '104');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11101', 'Coyhaique', '111');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11102', 'Lago Verde', '111');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11201', 'Aysén', '112');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11202', 'Cisnes', '112');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11203', 'Guaitecas', '112');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11301', 'Cochrane', '113');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11302', 'O''Higgins', '113');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11303', 'Tortel', '113');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11401', 'Chile Chico', '114');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('11402', 'Río Ibáñez', '114');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12101', 'Punta Arenas', '121');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12102', 'Laguna Blanca', '121');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12103', 'Río Verde', '121');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12104', 'San Gregorio', '121');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12201', 'Cabo de Hornos', '122');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12202', 'Antártica', '122');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12301', 'Porvenir', '123');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12302', 'Primavera', '123');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12303', 'Timaukel', '123');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12401', 'Natales', '124');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('12402', 'Torres del Paine', '124');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13101', 'Santiago', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13102', 'Cerrillos', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13103', 'Cerro Navia', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13104', 'Conchalí', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13105', 'El Bosque', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13106', 'Estación Central', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13107', 'Huechuraba', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13108', 'Independencia', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13109', 'La Cisterna', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13110', 'La Florida', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13111', 'La Granja', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13112', 'La Pintana', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13113', 'La Reina', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13114', 'Las Condes', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13115', 'Lo Barnechea', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13116', 'Lo Espejo', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13117', 'Lo Prado', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13118', 'Macul', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13119', 'Maipú', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13120', 'Ñuñoa', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13121', 'Pedro Aguirre Cerda', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13122', 'Peñalolén', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13123', 'Providencia', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13124', 'Pudahuel', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13125', 'Quilicura', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13126', 'Quinta Normal', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13127', 'Recoleta', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13128', 'Renca', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13129', 'San Joaquín', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13130', 'San Miguel', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13131', 'San Ramón', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13132', 'Vitacura', '131');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13201', 'Puente Alto', '132');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13202', 'Pirque', '132');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13203', 'San José de Maipo', '132');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13301', 'Colina', '133');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13302', 'Lampa', '133');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13303', 'Tiltil', '133');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13401', 'San Bernardo', '134');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13402', 'Buin', '134');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13403', 'Calera de Tango', '134');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13404', 'Paine', '134');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13501', 'Melipilla', '135');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13502', 'Alhué', '135');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13503', 'Curacaví', '135');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13504', 'María Pinto', '135');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13505', 'San Pedro', '135');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13601', 'Talagante', '136');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13602', 'El Monte', '136');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13603', 'Isla de Maipo', '136');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13604', 'Padre Hurtado', '136');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('13605', 'Peñaflor', '136');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14101', 'Valdivia', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14102', 'Corral', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14103', 'Lanco', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14104', 'Los Lagos', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14105', 'Máfil', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14106', 'Mariquina', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14107', 'Paillaco', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14108', 'Panguipulli', '141');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14201', 'La Unión', '142');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14202', 'Futrono', '142');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14203', 'Lago Ranco', '142');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('14204', 'Río Bueno', '142');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('15101', 'Arica', '151');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('15102', 'Camarones', '151');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('15201', 'Putre', '152');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('15202', 'General Lagos', '152');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16101', 'Chillán', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16102', 'Bulnes', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16103', 'Chillán Viejo', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16104', 'El Carmen', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16105', 'Pemuco', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16106', 'Pinto', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16107', 'Quillón', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16108', 'San Ignacio', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16109', 'Yungay', '161');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16201', 'Quirihue', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16202', 'Cobquecura', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16203', 'Coelemu', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16204', 'Ninhue', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16205', 'Portezuelo', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16206', 'Ranquil', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16207', 'Treguaco', '162');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16301', 'San Carlos', '163');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16302', 'Coihueco', '163');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16303', 'Ñiquén', '163');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16304', 'San Fabián', '163');\n", - "INSERT INTO commune (id, name, province_id) VALUES ('16305', 'San Nicolás', '163');\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# Definir el modelo de la tabla\n", "communes_table_model = \"\"\"\n", From c8d073006bfad7094f882907fae1929b053a0a80 Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 05:22:26 +0000 Subject: [PATCH 02/13] refactor: standardize JSON key naming and format in SQL and test files --- packages/data/json/array.json | 1870 ++++++++ packages/data/json/{data.json => object.json} | 65 +- packages/data/process.ipynb | 4112 +---------------- packages/data/sql/communes.sql | 8 +- packages/data/sql/provinces.sql | 8 +- packages/data/sql/regions.sql | 10 +- packages/data/tests/json_test.py | 48 +- 7 files changed, 2030 insertions(+), 4091 deletions(-) create mode 100644 packages/data/json/array.json rename packages/data/json/{data.json => object.json} (97%) diff --git a/packages/data/json/array.json b/packages/data/json/array.json new file mode 100644 index 0000000..fa3dd9b --- /dev/null +++ b/packages/data/json/array.json @@ -0,0 +1,1870 @@ +{ + "country": "Chile", + "countryCode": "CL", + "regions": [ + { + "id": "01", + "name": "Región de Tarapacá", + "shortName": "Tarapacá", + "abbreviation": "TPCA", + "isoCode": "CL-TA", + "provinces": [ + { + "id": "011", + "name": "Iquique", + "communes": [ + { + "id": "01101", + "name": "Iquique" + }, + { + "id": "01107", + "name": "Alto Hospicio" + } + ] + }, + { + "id": "014", + "name": "Tamarugal", + "communes": [ + { + "id": "01401", + "name": "Pozo Almonte" + }, + { + "id": "01402", + "name": "Camiña" + }, + { + "id": "01403", + "name": "Colchane" + }, + { + "id": "01404", + "name": "Huara" + }, + { + "id": "01405", + "name": "Pica" + } + ] + } + ] + }, + { + "id": "02", + "name": "Región de Antofagasta", + "shortName": "Antofagasta", + "abbreviation": "ANTOF", + "isoCode": "CL-AN", + "provinces": [ + { + "id": "021", + "name": "Antofagasta", + "communes": [ + { + "id": "02101", + "name": "Antofagasta" + }, + { + "id": "02102", + "name": "Mejillones" + }, + { + "id": "02103", + "name": "Sierra Gorda" + }, + { + "id": "02104", + "name": "Taltal" + } + ] + }, + { + "id": "022", + "name": "El Loa", + "communes": [ + { + "id": "02201", + "name": "Calama" + }, + { + "id": "02202", + "name": "Ollagüe" + }, + { + "id": "02203", + "name": "San Pedro de Atacama" + } + ] + }, + { + "id": "023", + "name": "Tocopilla", + "communes": [ + { + "id": "02301", + "name": "Tocopilla" + }, + { + "id": "02302", + "name": "María Elena" + } + ] + } + ] + }, + { + "id": "03", + "name": "Región de Atacama", + "shortName": "Atacama", + "abbreviation": "ATCMA", + "isoCode": "CL-AT", + "provinces": [ + { + "id": "031", + "name": "Copiapó", + "communes": [ + { + "id": "03101", + "name": "Copiapó" + }, + { + "id": "03102", + "name": "Caldera" + }, + { + "id": "03103", + "name": "Tierra Amarilla" + } + ] + }, + { + "id": "032", + "name": "Chañaral", + "communes": [ + { + "id": "03201", + "name": "Chañaral" + }, + { + "id": "03202", + "name": "Diego de Almagro" + } + ] + }, + { + "id": "033", + "name": "Huasco", + "communes": [ + { + "id": "03301", + "name": "Vallenar" + }, + { + "id": "03302", + "name": "Alto del Carmen" + }, + { + "id": "03303", + "name": "Freirina" + }, + { + "id": "03304", + "name": "Huasco" + } + ] + } + ] + }, + { + "id": "04", + "name": "Región de Coquimbo", + "shortName": "Coquimbo", + "abbreviation": "COQ", + "isoCode": "CL-CO", + "provinces": [ + { + "id": "041", + "name": "Elqui", + "communes": [ + { + "id": "04101", + "name": "La Serena" + }, + { + "id": "04102", + "name": "Coquimbo" + }, + { + "id": "04103", + "name": "Andacollo" + }, + { + "id": "04104", + "name": "La Higuera" + }, + { + "id": "04105", + "name": "Paiguano" + }, + { + "id": "04106", + "name": "Vicuña" + } + ] + }, + { + "id": "042", + "name": "Choapa", + "communes": [ + { + "id": "04201", + "name": "Illapel" + }, + { + "id": "04202", + "name": "Canela" + }, + { + "id": "04203", + "name": "Los Vilos" + }, + { + "id": "04204", + "name": "Salamanca" + } + ] + }, + { + "id": "043", + "name": "Limarí", + "communes": [ + { + "id": "04301", + "name": "Ovalle" + }, + { + "id": "04302", + "name": "Combarbalá" + }, + { + "id": "04303", + "name": "Monte Patria" + }, + { + "id": "04304", + "name": "Punitaqui" + }, + { + "id": "04305", + "name": "Río Hurtado" + } + ] + } + ] + }, + { + "id": "05", + "name": "Región de Valparaíso", + "shortName": "Valparaíso", + "abbreviation": "VALPO", + "isoCode": "CL-VS", + "provinces": [ + { + "id": "051", + "name": "Valparaíso", + "communes": [ + { + "id": "05101", + "name": "Valparaíso" + }, + { + "id": "05102", + "name": "Casablanca" + }, + { + "id": "05103", + "name": "Concón" + }, + { + "id": "05104", + "name": "Juan Fernández" + }, + { + "id": "05105", + "name": "Puchuncaví" + }, + { + "id": "05107", + "name": "Quintero" + }, + { + "id": "05109", + "name": "Viña del Mar" + } + ] + }, + { + "id": "052", + "name": "Isla de Pascua", + "communes": [ + { + "id": "05201", + "name": "Isla de Pascua" + } + ] + }, + { + "id": "053", + "name": "Los Andes", + "communes": [ + { + "id": "05301", + "name": "Los Andes" + }, + { + "id": "05302", + "name": "Calle Larga" + }, + { + "id": "05303", + "name": "Rinconada" + }, + { + "id": "05304", + "name": "San Esteban" + } + ] + }, + { + "id": "054", + "name": "Petorca", + "communes": [ + { + "id": "05401", + "name": "La Ligua" + }, + { + "id": "05402", + "name": "Cabildo" + }, + { + "id": "05403", + "name": "Papudo" + }, + { + "id": "05404", + "name": "Petorca" + }, + { + "id": "05405", + "name": "Zapallar" + } + ] + }, + { + "id": "055", + "name": "Quillota", + "communes": [ + { + "id": "05501", + "name": "Quillota" + }, + { + "id": "05502", + "name": "Calera" + }, + { + "id": "05503", + "name": "Hijuelas" + }, + { + "id": "05504", + "name": "La Cruz" + }, + { + "id": "05506", + "name": "Nogales" + } + ] + }, + { + "id": "056", + "name": "San Antonio", + "communes": [ + { + "id": "05601", + "name": "San Antonio" + }, + { + "id": "05602", + "name": "Algarrobo" + }, + { + "id": "05603", + "name": "Cartagena" + }, + { + "id": "05604", + "name": "El Quisco" + }, + { + "id": "05605", + "name": "El Tabo" + }, + { + "id": "05606", + "name": "Santo Domingo" + } + ] + }, + { + "id": "057", + "name": "San Felipe de Aconcagua", + "communes": [ + { + "id": "05701", + "name": "San Felipe" + }, + { + "id": "05702", + "name": "Catemu" + }, + { + "id": "05703", + "name": "Llaillay" + }, + { + "id": "05704", + "name": "Panquehue" + }, + { + "id": "05705", + "name": "Putaendo" + }, + { + "id": "05706", + "name": "Santa María" + } + ] + }, + { + "id": "058", + "name": "Marga Marga", + "communes": [ + { + "id": "05801", + "name": "Quilpué" + }, + { + "id": "05802", + "name": "Limache" + }, + { + "id": "05803", + "name": "Olmué" + }, + { + "id": "05804", + "name": "Villa Alemana" + } + ] + } + ] + }, + { + "id": "06", + "name": "Región del Libertador General Bernardo O'Higgins", + "shortName": "Libertador General Bernardo O'Higgins", + "abbreviation": "LGBO", + "isoCode": "CL-LI", + "provinces": [ + { + "id": "061", + "name": "Cachapoal", + "communes": [ + { + "id": "06101", + "name": "Rancagua" + }, + { + "id": "06102", + "name": "Codegua" + }, + { + "id": "06103", + "name": "Coinco" + }, + { + "id": "06104", + "name": "Coltauco" + }, + { + "id": "06105", + "name": "Doñihue" + }, + { + "id": "06106", + "name": "Graneros" + }, + { + "id": "06107", + "name": "Las Cabras" + }, + { + "id": "06108", + "name": "Machalí" + }, + { + "id": "06109", + "name": "Malloa" + }, + { + "id": "06110", + "name": "Mostazal" + }, + { + "id": "06111", + "name": "Olivar" + }, + { + "id": "06112", + "name": "Peumo" + }, + { + "id": "06113", + "name": "Pichidegua" + }, + { + "id": "06114", + "name": "Quinta de Tilcoco" + }, + { + "id": "06115", + "name": "Rengo" + }, + { + "id": "06116", + "name": "Requínoa" + }, + { + "id": "06117", + "name": "San Vicente" + } + ] + }, + { + "id": "062", + "name": "Cardenal Caro", + "communes": [ + { + "id": "06201", + "name": "Pichilemu" + }, + { + "id": "06202", + "name": "La Estrella" + }, + { + "id": "06203", + "name": "Litueche" + }, + { + "id": "06204", + "name": "Marchihue" + }, + { + "id": "06205", + "name": "Navidad" + }, + { + "id": "06206", + "name": "Paredones" + } + ] + }, + { + "id": "063", + "name": "Colchagua", + "communes": [ + { + "id": "06301", + "name": "San Fernando" + }, + { + "id": "06302", + "name": "Chépica" + }, + { + "id": "06303", + "name": "Chimbarongo" + }, + { + "id": "06304", + "name": "Lolol" + }, + { + "id": "06305", + "name": "Nancagua" + }, + { + "id": "06306", + "name": "Palmilla" + }, + { + "id": "06307", + "name": "Peralillo" + }, + { + "id": "06308", + "name": "Placilla" + }, + { + "id": "06309", + "name": "Pumanque" + }, + { + "id": "06310", + "name": "Santa Cruz" + } + ] + } + ] + }, + { + "id": "07", + "name": "Región del Maule", + "shortName": "Maule", + "abbreviation": "MAULE", + "isoCode": "CL-ML", + "provinces": [ + { + "id": "071", + "name": "Talca", + "communes": [ + { + "id": "07101", + "name": "Talca" + }, + { + "id": "07102", + "name": "Constitución" + }, + { + "id": "07103", + "name": "Curepto" + }, + { + "id": "07104", + "name": "Empedrado" + }, + { + "id": "07105", + "name": "Maule" + }, + { + "id": "07106", + "name": "Pelarco" + }, + { + "id": "07107", + "name": "Pencahue" + }, + { + "id": "07108", + "name": "Río Claro" + }, + { + "id": "07109", + "name": "San Clemente" + }, + { + "id": "07110", + "name": "San Rafael" + } + ] + }, + { + "id": "072", + "name": "Cauquenes", + "communes": [ + { + "id": "07201", + "name": "Cauquenes" + }, + { + "id": "07202", + "name": "Chanco" + }, + { + "id": "07203", + "name": "Pelluhue" + } + ] + }, + { + "id": "073", + "name": "Curicó", + "communes": [ + { + "id": "07301", + "name": "Curicó" + }, + { + "id": "07302", + "name": "Hualañé" + }, + { + "id": "07303", + "name": "Licantén" + }, + { + "id": "07304", + "name": "Molina" + }, + { + "id": "07305", + "name": "Rauco" + }, + { + "id": "07306", + "name": "Romeral" + }, + { + "id": "07307", + "name": "Sagrada Familia" + }, + { + "id": "07308", + "name": "Teno" + }, + { + "id": "07309", + "name": "Vichuquén" + } + ] + }, + { + "id": "074", + "name": "Linares", + "communes": [ + { + "id": "07401", + "name": "Linares" + }, + { + "id": "07402", + "name": "Colbún" + }, + { + "id": "07403", + "name": "Longaví" + }, + { + "id": "07404", + "name": "Parral" + }, + { + "id": "07405", + "name": "Retiro" + }, + { + "id": "07406", + "name": "San Javier" + }, + { + "id": "07407", + "name": "Villa Alegre" + }, + { + "id": "07408", + "name": "Yerbas Buenas" + } + ] + } + ] + }, + { + "id": "08", + "name": "Región del Biobío", + "shortName": "Biobío", + "abbreviation": "BBIO", + "isoCode": "CL-BI", + "provinces": [ + { + "id": "081", + "name": "Concepción", + "communes": [ + { + "id": "08101", + "name": "Concepción" + }, + { + "id": "08102", + "name": "Coronel" + }, + { + "id": "08103", + "name": "Chiguayante" + }, + { + "id": "08104", + "name": "Florida" + }, + { + "id": "08105", + "name": "Hualqui" + }, + { + "id": "08106", + "name": "Lota" + }, + { + "id": "08107", + "name": "Penco" + }, + { + "id": "08108", + "name": "San Pedro de la Paz" + }, + { + "id": "08109", + "name": "Santa Juana" + }, + { + "id": "08110", + "name": "Talcahuano" + }, + { + "id": "08111", + "name": "Tomé" + }, + { + "id": "08112", + "name": "Hualpén" + } + ] + }, + { + "id": "082", + "name": "Arauco", + "communes": [ + { + "id": "08201", + "name": "Lebu" + }, + { + "id": "08202", + "name": "Arauco" + }, + { + "id": "08203", + "name": "Cañete" + }, + { + "id": "08204", + "name": "Contulmo" + }, + { + "id": "08205", + "name": "Curanilahue" + }, + { + "id": "08206", + "name": "Los Alamos" + }, + { + "id": "08207", + "name": "Tirúa" + } + ] + }, + { + "id": "083", + "name": "Biobío", + "communes": [ + { + "id": "08301", + "name": "Los Angeles" + }, + { + "id": "08302", + "name": "Antuco" + }, + { + "id": "08303", + "name": "Cabrero" + }, + { + "id": "08304", + "name": "Laja" + }, + { + "id": "08305", + "name": "Mulchén" + }, + { + "id": "08306", + "name": "Nacimiento" + }, + { + "id": "08307", + "name": "Negrete" + }, + { + "id": "08308", + "name": "Quilaco" + }, + { + "id": "08309", + "name": "Quilleco" + }, + { + "id": "08310", + "name": "San Rosendo" + }, + { + "id": "08311", + "name": "Santa Bárbara" + }, + { + "id": "08312", + "name": "Tucapel" + }, + { + "id": "08313", + "name": "Yumbel" + }, + { + "id": "08314", + "name": "Alto Biobío" + } + ] + } + ] + }, + { + "id": "09", + "name": "Región de La Araucanía", + "shortName": "La Araucanía", + "abbreviation": "ARAUC", + "isoCode": "CL-AR", + "provinces": [ + { + "id": "091", + "name": "Cautín", + "communes": [ + { + "id": "09101", + "name": "Temuco" + }, + { + "id": "09102", + "name": "Carahue" + }, + { + "id": "09103", + "name": "Cunco" + }, + { + "id": "09104", + "name": "Curarrehue" + }, + { + "id": "09105", + "name": "Freire" + }, + { + "id": "09106", + "name": "Galvarino" + }, + { + "id": "09107", + "name": "Gorbea" + }, + { + "id": "09108", + "name": "Lautaro" + }, + { + "id": "09109", + "name": "Loncoche" + }, + { + "id": "09110", + "name": "Melipeuco" + }, + { + "id": "09111", + "name": "Nueva Imperial" + }, + { + "id": "09112", + "name": "Padre Las Casas" + }, + { + "id": "09113", + "name": "Perquenco" + }, + { + "id": "09114", + "name": "Pitrufquén" + }, + { + "id": "09115", + "name": "Pucón" + }, + { + "id": "09116", + "name": "Saavedra" + }, + { + "id": "09117", + "name": "Teodoro Schmidt" + }, + { + "id": "09118", + "name": "Toltén" + }, + { + "id": "09119", + "name": "Vilcún" + }, + { + "id": "09120", + "name": "Villarrica" + }, + { + "id": "09121", + "name": "Cholchol" + } + ] + }, + { + "id": "092", + "name": "Malleco", + "communes": [ + { + "id": "09201", + "name": "Angol" + }, + { + "id": "09202", + "name": "Collipulli" + }, + { + "id": "09203", + "name": "Curacautín" + }, + { + "id": "09204", + "name": "Ercilla" + }, + { + "id": "09205", + "name": "Lonquimay" + }, + { + "id": "09206", + "name": "Los Sauces" + }, + { + "id": "09207", + "name": "Lumaco" + }, + { + "id": "09208", + "name": "Purén" + }, + { + "id": "09209", + "name": "Renaico" + }, + { + "id": "09210", + "name": "Traiguén" + }, + { + "id": "09211", + "name": "Victoria" + } + ] + } + ] + }, + { + "id": "10", + "name": "Región de Los Lagos", + "shortName": "Los Lagos", + "abbreviation": "LAGOS", + "isoCode": "CL-LL", + "provinces": [ + { + "id": "101", + "name": "Llanquihue", + "communes": [ + { + "id": "10101", + "name": "Puerto Montt" + }, + { + "id": "10102", + "name": "Calbuco" + }, + { + "id": "10103", + "name": "Cochamó" + }, + { + "id": "10104", + "name": "Fresia" + }, + { + "id": "10105", + "name": "Frutillar" + }, + { + "id": "10106", + "name": "Los Muermos" + }, + { + "id": "10107", + "name": "Llanquihue" + }, + { + "id": "10108", + "name": "Maullín" + }, + { + "id": "10109", + "name": "Puerto Varas" + } + ] + }, + { + "id": "102", + "name": "Chiloé", + "communes": [ + { + "id": "10201", + "name": "Castro" + }, + { + "id": "10202", + "name": "Ancud" + }, + { + "id": "10203", + "name": "Chonchi" + }, + { + "id": "10204", + "name": "Curaco de Vélez" + }, + { + "id": "10205", + "name": "Dalcahue" + }, + { + "id": "10206", + "name": "Puqueldón" + }, + { + "id": "10207", + "name": "Queilén" + }, + { + "id": "10208", + "name": "Quellón" + }, + { + "id": "10209", + "name": "Quemchi" + }, + { + "id": "10210", + "name": "Quinchao" + } + ] + }, + { + "id": "103", + "name": "Osorno", + "communes": [ + { + "id": "10301", + "name": "Osorno" + }, + { + "id": "10302", + "name": "Puerto Octay" + }, + { + "id": "10303", + "name": "Purranque" + }, + { + "id": "10304", + "name": "Puyehue" + }, + { + "id": "10305", + "name": "Río Negro" + }, + { + "id": "10306", + "name": "San Juan de la Costa" + }, + { + "id": "10307", + "name": "San Pablo" + } + ] + }, + { + "id": "104", + "name": "Palena", + "communes": [ + { + "id": "10401", + "name": "Chaitén" + }, + { + "id": "10402", + "name": "Futaleufú" + }, + { + "id": "10403", + "name": "Hualaihué" + }, + { + "id": "10404", + "name": "Palena" + } + ] + } + ] + }, + { + "id": "11", + "name": "Región Aysén del General Carlos Ibáñez del Campo", + "shortName": "Aysén del General Carlos Ibáñez del Campo", + "abbreviation": "AYSEN", + "isoCode": "CL-AI", + "provinces": [ + { + "id": "111", + "name": "Coyhaique", + "communes": [ + { + "id": "11101", + "name": "Coyhaique" + }, + { + "id": "11102", + "name": "Lago Verde" + } + ] + }, + { + "id": "112", + "name": "Aysén", + "communes": [ + { + "id": "11201", + "name": "Aysén" + }, + { + "id": "11202", + "name": "Cisnes" + }, + { + "id": "11203", + "name": "Guaitecas" + } + ] + }, + { + "id": "113", + "name": "Capitán Prat", + "communes": [ + { + "id": "11301", + "name": "Cochrane" + }, + { + "id": "11302", + "name": "O'Higgins" + }, + { + "id": "11303", + "name": "Tortel" + } + ] + }, + { + "id": "114", + "name": "General Carrera", + "communes": [ + { + "id": "11401", + "name": "Chile Chico" + }, + { + "id": "11402", + "name": "Río Ibáñez" + } + ] + } + ] + }, + { + "id": "12", + "name": "Región de Magallanes y de la Antártica Chilena", + "shortName": "Magallanes y de la Antártica Chilena", + "abbreviation": "MAG", + "isoCode": "CL-MA", + "provinces": [ + { + "id": "121", + "name": "Magallanes", + "communes": [ + { + "id": "12101", + "name": "Punta Arenas" + }, + { + "id": "12102", + "name": "Laguna Blanca" + }, + { + "id": "12103", + "name": "Río Verde" + }, + { + "id": "12104", + "name": "San Gregorio" + } + ] + }, + { + "id": "122", + "name": "Antártica Chilena", + "communes": [ + { + "id": "12201", + "name": "Cabo de Hornos" + }, + { + "id": "12202", + "name": "Antártica" + } + ] + }, + { + "id": "123", + "name": "Tierra del Fuego", + "communes": [ + { + "id": "12301", + "name": "Porvenir" + }, + { + "id": "12302", + "name": "Primavera" + }, + { + "id": "12303", + "name": "Timaukel" + } + ] + }, + { + "id": "124", + "name": "Última Esperanza", + "communes": [ + { + "id": "12401", + "name": "Natales" + }, + { + "id": "12402", + "name": "Torres del Paine" + } + ] + } + ] + }, + { + "id": "13", + "name": "Región Metropolitana de Santiago", + "shortName": "Metropolitana de Santiago", + "abbreviation": "RM", + "isoCode": "CL-RM", + "provinces": [ + { + "id": "131", + "name": "Santiago", + "communes": [ + { + "id": "13101", + "name": "Santiago" + }, + { + "id": "13102", + "name": "Cerrillos" + }, + { + "id": "13103", + "name": "Cerro Navia" + }, + { + "id": "13104", + "name": "Conchalí" + }, + { + "id": "13105", + "name": "El Bosque" + }, + { + "id": "13106", + "name": "Estación Central" + }, + { + "id": "13107", + "name": "Huechuraba" + }, + { + "id": "13108", + "name": "Independencia" + }, + { + "id": "13109", + "name": "La Cisterna" + }, + { + "id": "13110", + "name": "La Florida" + }, + { + "id": "13111", + "name": "La Granja" + }, + { + "id": "13112", + "name": "La Pintana" + }, + { + "id": "13113", + "name": "La Reina" + }, + { + "id": "13114", + "name": "Las Condes" + }, + { + "id": "13115", + "name": "Lo Barnechea" + }, + { + "id": "13116", + "name": "Lo Espejo" + }, + { + "id": "13117", + "name": "Lo Prado" + }, + { + "id": "13118", + "name": "Macul" + }, + { + "id": "13119", + "name": "Maipú" + }, + { + "id": "13120", + "name": "Ñuñoa" + }, + { + "id": "13121", + "name": "Pedro Aguirre Cerda" + }, + { + "id": "13122", + "name": "Peñalolén" + }, + { + "id": "13123", + "name": "Providencia" + }, + { + "id": "13124", + "name": "Pudahuel" + }, + { + "id": "13125", + "name": "Quilicura" + }, + { + "id": "13126", + "name": "Quinta Normal" + }, + { + "id": "13127", + "name": "Recoleta" + }, + { + "id": "13128", + "name": "Renca" + }, + { + "id": "13129", + "name": "San Joaquín" + }, + { + "id": "13130", + "name": "San Miguel" + }, + { + "id": "13131", + "name": "San Ramón" + }, + { + "id": "13132", + "name": "Vitacura" + } + ] + }, + { + "id": "132", + "name": "Cordillera", + "communes": [ + { + "id": "13201", + "name": "Puente Alto" + }, + { + "id": "13202", + "name": "Pirque" + }, + { + "id": "13203", + "name": "San José de Maipo" + } + ] + }, + { + "id": "133", + "name": "Chacabuco", + "communes": [ + { + "id": "13301", + "name": "Colina" + }, + { + "id": "13302", + "name": "Lampa" + }, + { + "id": "13303", + "name": "Tiltil" + } + ] + }, + { + "id": "134", + "name": "Maipo", + "communes": [ + { + "id": "13401", + "name": "San Bernardo" + }, + { + "id": "13402", + "name": "Buin" + }, + { + "id": "13403", + "name": "Calera de Tango" + }, + { + "id": "13404", + "name": "Paine" + } + ] + }, + { + "id": "135", + "name": "Melipilla", + "communes": [ + { + "id": "13501", + "name": "Melipilla" + }, + { + "id": "13502", + "name": "Alhué" + }, + { + "id": "13503", + "name": "Curacaví" + }, + { + "id": "13504", + "name": "María Pinto" + }, + { + "id": "13505", + "name": "San Pedro" + } + ] + }, + { + "id": "136", + "name": "Talagante", + "communes": [ + { + "id": "13601", + "name": "Talagante" + }, + { + "id": "13602", + "name": "El Monte" + }, + { + "id": "13603", + "name": "Isla de Maipo" + }, + { + "id": "13604", + "name": "Padre Hurtado" + }, + { + "id": "13605", + "name": "Peñaflor" + } + ] + } + ] + }, + { + "id": "14", + "name": "Región de Los Ríos", + "shortName": "Los Ríos", + "abbreviation": "RIOS", + "isoCode": "CL-LR", + "provinces": [ + { + "id": "141", + "name": "Valdivia", + "communes": [ + { + "id": "14101", + "name": "Valdivia" + }, + { + "id": "14102", + "name": "Corral" + }, + { + "id": "14103", + "name": "Lanco" + }, + { + "id": "14104", + "name": "Los Lagos" + }, + { + "id": "14105", + "name": "Máfil" + }, + { + "id": "14106", + "name": "Mariquina" + }, + { + "id": "14107", + "name": "Paillaco" + }, + { + "id": "14108", + "name": "Panguipulli" + } + ] + }, + { + "id": "142", + "name": "Ranco", + "communes": [ + { + "id": "14201", + "name": "La Unión" + }, + { + "id": "14202", + "name": "Futrono" + }, + { + "id": "14203", + "name": "Lago Ranco" + }, + { + "id": "14204", + "name": "Río Bueno" + } + ] + } + ] + }, + { + "id": "15", + "name": "Región de Arica y Parinacota", + "shortName": "Arica y Parinacota", + "abbreviation": "AyP", + "isoCode": "CL-AP", + "provinces": [ + { + "id": "151", + "name": "Arica", + "communes": [ + { + "id": "15101", + "name": "Arica" + }, + { + "id": "15102", + "name": "Camarones" + } + ] + }, + { + "id": "152", + "name": "Parinacota", + "communes": [ + { + "id": "15201", + "name": "Putre" + }, + { + "id": "15202", + "name": "General Lagos" + } + ] + } + ] + }, + { + "id": "16", + "name": "Región de Ñuble", + "shortName": "Ñuble", + "abbreviation": "NUBLE", + "isoCode": "CL-NB", + "provinces": [ + { + "id": "161", + "name": "Diguillín", + "communes": [ + { + "id": "16101", + "name": "Chillán" + }, + { + "id": "16102", + "name": "Bulnes" + }, + { + "id": "16103", + "name": "Chillán Viejo" + }, + { + "id": "16104", + "name": "El Carmen" + }, + { + "id": "16105", + "name": "Pemuco" + }, + { + "id": "16106", + "name": "Pinto" + }, + { + "id": "16107", + "name": "Quillón" + }, + { + "id": "16108", + "name": "San Ignacio" + }, + { + "id": "16109", + "name": "Yungay" + } + ] + }, + { + "id": "162", + "name": "Itata", + "communes": [ + { + "id": "16201", + "name": "Quirihue" + }, + { + "id": "16202", + "name": "Cobquecura" + }, + { + "id": "16203", + "name": "Coelemu" + }, + { + "id": "16204", + "name": "Ninhue" + }, + { + "id": "16205", + "name": "Portezuelo" + }, + { + "id": "16206", + "name": "Ranquil" + }, + { + "id": "16207", + "name": "Treguaco" + } + ] + }, + { + "id": "163", + "name": "Punilla", + "communes": [ + { + "id": "16301", + "name": "San Carlos" + }, + { + "id": "16302", + "name": "Coihueco" + }, + { + "id": "16303", + "name": "Ñiquén" + }, + { + "id": "16304", + "name": "San Fabián" + }, + { + "id": "16305", + "name": "San Nicolás" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/packages/data/json/data.json b/packages/data/json/object.json similarity index 97% rename from packages/data/json/data.json rename to packages/data/json/object.json index 80c7729..c7bfafb 100644 --- a/packages/data/json/data.json +++ b/packages/data/json/object.json @@ -1,12 +1,13 @@ { "country": "Chile", + "countryCode": "CL", "regions": { "01": { "id": "01", "name": "Región de Tarapacá", - "short_name": "Tarapacá", + "shortName": "Tarapacá", "abbreviation": "TPCA", - "iso_code": "CL-TA", + "isoCode": "CL-TA", "provinces": { "011": { "id": "011", @@ -53,9 +54,9 @@ "02": { "id": "02", "name": "Región de Antofagasta", - "short_name": "Antofagasta", + "shortName": "Antofagasta", "abbreviation": "ANTOF", - "iso_code": "CL-AN", + "isoCode": "CL-AN", "provinces": { "021": { "id": "021", @@ -116,9 +117,9 @@ "03": { "id": "03", "name": "Región de Atacama", - "short_name": "Atacama", + "shortName": "Atacama", "abbreviation": "ATCMA", - "iso_code": "CL-AT", + "isoCode": "CL-AT", "provinces": { "031": { "id": "031", @@ -179,9 +180,9 @@ "04": { "id": "04", "name": "Región de Coquimbo", - "short_name": "Coquimbo", + "shortName": "Coquimbo", "abbreviation": "COQ", - "iso_code": "CL-CO", + "isoCode": "CL-CO", "provinces": { "041": { "id": "041", @@ -266,9 +267,9 @@ "05": { "id": "05", "name": "Región de Valparaíso", - "short_name": "Valparaíso", + "shortName": "Valparaíso", "abbreviation": "VALPO", - "iso_code": "CL-VS", + "isoCode": "CL-VS", "provinces": { "051": { "id": "051", @@ -475,9 +476,9 @@ "06": { "id": "06", "name": "Región del Libertador General Bernardo O'Higgins", - "short_name": "Libertador General Bernardo O'Higgins", + "shortName": "Libertador General Bernardo O'Higgins", "abbreviation": "LGBO", - "iso_code": "CL-LI", + "isoCode": "CL-LI", "provinces": { "061": { "id": "061", @@ -634,9 +635,9 @@ "07": { "id": "07", "name": "Región del Maule", - "short_name": "Maule", + "shortName": "Maule", "abbreviation": "MAULE", - "iso_code": "CL-ML", + "isoCode": "CL-ML", "provinces": { "071": { "id": "071", @@ -787,9 +788,9 @@ "08": { "id": "08", "name": "Región del Biobío", - "short_name": "Biobío", + "shortName": "Biobío", "abbreviation": "BBIO", - "iso_code": "CL-BI", + "isoCode": "CL-BI", "provinces": { "081": { "id": "081", @@ -946,9 +947,9 @@ "09": { "id": "09", "name": "Región de La Araucanía", - "short_name": "La Araucanía", + "shortName": "La Araucanía", "abbreviation": "ARAUC", - "iso_code": "CL-AR", + "isoCode": "CL-AR", "provinces": { "091": { "id": "091", @@ -1095,9 +1096,9 @@ "10": { "id": "10", "name": "Región de Los Lagos", - "short_name": "Los Lagos", + "shortName": "Los Lagos", "abbreviation": "LAGOS", - "iso_code": "CL-LL", + "isoCode": "CL-LL", "provinces": { "101": { "id": "101", @@ -1248,9 +1249,9 @@ "11": { "id": "11", "name": "Región Aysén del General Carlos Ibáñez del Campo", - "short_name": "Aysén del General Carlos Ibáñez del Campo", + "shortName": "Aysén del General Carlos Ibáñez del Campo", "abbreviation": "AYSEN", - "iso_code": "CL-AI", + "isoCode": "CL-AI", "provinces": { "111": { "id": "111", @@ -1321,9 +1322,9 @@ "12": { "id": "12", "name": "Región de Magallanes y de la Antártica Chilena", - "short_name": "Magallanes y de la Antártica Chilena", + "shortName": "Magallanes y de la Antártica Chilena", "abbreviation": "MAG", - "iso_code": "CL-MA", + "isoCode": "CL-MA", "provinces": { "121": { "id": "121", @@ -1398,9 +1399,9 @@ "13": { "id": "13", "name": "Región Metropolitana de Santiago", - "short_name": "Metropolitana de Santiago", + "shortName": "Metropolitana de Santiago", "abbreviation": "RM", - "iso_code": "CL-RM", + "isoCode": "CL-RM", "provinces": { "131": { "id": "131", @@ -1651,9 +1652,9 @@ "14": { "id": "14", "name": "Región de Los Ríos", - "short_name": "Los Ríos", + "shortName": "Los Ríos", "abbreviation": "RIOS", - "iso_code": "CL-LR", + "isoCode": "CL-LR", "provinces": { "141": { "id": "141", @@ -1720,9 +1721,9 @@ "15": { "id": "15", "name": "Región de Arica y Parinacota", - "short_name": "Arica y Parinacota", + "shortName": "Arica y Parinacota", "abbreviation": "AyP", - "iso_code": "CL-AP", + "isoCode": "CL-AP", "provinces": { "151": { "id": "151", @@ -1757,9 +1758,9 @@ "16": { "id": "16", "name": "Región de Ñuble", - "short_name": "Ñuble", + "shortName": "Ñuble", "abbreviation": "NUBLE", - "iso_code": "CL-NB", + "isoCode": "CL-NB", "provinces": { "161": { "id": "161", diff --git a/packages/data/process.ipynb b/packages/data/process.ipynb index f73902a..e5fa884 100644 --- a/packages/data/process.ipynb +++ b/packages/data/process.ipynb @@ -14,8 +14,7 @@ "outputs": [], "source": [ "import pandas as pd\n", - "import json\n", - "import unittest" + "import json" ] }, { @@ -34,144 +33,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
códigonombre
015Región de Arica y Parinacota
101Región de Tarapacá
202Región de Antofagasta
303Región de Atacama
404Región de Coquimbo
505Región de Valparaíso
613Región Metropolitana de Santiago
706Región del Libertador General Bernardo O'Higgins
807Región del Maule
916Región de Ñuble
1008Región del Biobío
1109Región de La Araucanía
1214Región de Los Ríos
1310Región de Los Lagos
1411Región Aysén del General Carlos Ibáñez del Campo
1512Región de Magallanes y de la Antártica Chilena
\n", - "
" - ], - "text/plain": [ - " código nombre\n", - "0 15 Región de Arica y Parinacota\n", - "1 01 Región de Tarapacá\n", - "2 02 Región de Antofagasta\n", - "3 03 Región de Atacama\n", - "4 04 Región de Coquimbo\n", - "5 05 Región de Valparaíso\n", - "6 13 Región Metropolitana de Santiago\n", - "7 06 Región del Libertador General Bernardo O'Higgins\n", - "8 07 Región del Maule\n", - "9 16 Región de Ñuble\n", - "10 08 Región del Biobío\n", - "11 09 Región de La Araucanía\n", - "12 14 Región de Los Ríos\n", - "13 10 Región de Los Lagos\n", - "14 11 Región Aysén del General Carlos Ibáñez del Campo\n", - "15 12 Región de Magallanes y de la Antártica Chilena" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "ley_regiones_df = pd.read_csv(\"sources/ley-regiones.csv\", dtype=str)\n", "ley_regiones_df" @@ -186,190 +50,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "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", - " \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", - "
Código RegiónNombre RegiónAbreviatura RegiónCódigo ProvinciaNombre ProvinciaCódigo Comuna 2018Nombre Comuna
001TarapacáTPCA011Iquique01101Iquique
101TarapacáTPCA011Iquique01107Alto Hospicio
201TarapacáTPCA014Tamarugal01401Pozo Almonte
301TarapacáTPCA014Tamarugal01402Camiña
401TarapacáTPCA014Tamarugal01403Colchane
........................
34116ÑubleNUBLE163Punilla16301San Carlos
34216ÑubleNUBLE163Punilla16302Coihueco
34316ÑubleNUBLE163Punilla16303Ñiquén
34416ÑubleNUBLE163Punilla16304San Fabián
34516ÑubleNUBLE163Punilla16305San Nicolás
\n", - "

346 rows × 7 columns

\n", - "
" - ], - "text/plain": [ - " Código Región Nombre Región Abreviatura Región Código Provincia \\\n", - "0 01 Tarapacá TPCA 011 \n", - "1 01 Tarapacá TPCA 011 \n", - "2 01 Tarapacá TPCA 014 \n", - "3 01 Tarapacá TPCA 014 \n", - "4 01 Tarapacá TPCA 014 \n", - ".. ... ... ... ... \n", - "341 16 Ñuble NUBLE 163 \n", - "342 16 Ñuble NUBLE 163 \n", - "343 16 Ñuble NUBLE 163 \n", - "344 16 Ñuble NUBLE 163 \n", - "345 16 Ñuble NUBLE 163 \n", - "\n", - " Nombre Provincia Código Comuna 2018 Nombre Comuna \n", - "0 Iquique 01101 Iquique \n", - "1 Iquique 01107 Alto Hospicio \n", - "2 Tamarugal 01401 Pozo Almonte \n", - "3 Tamarugal 01402 Camiña \n", - "4 Tamarugal 01403 Colchane \n", - ".. ... ... ... \n", - "341 Punilla 16301 San Carlos \n", - "342 Punilla 16302 Coihueco \n", - "343 Punilla 16303 Ñiquén \n", - "344 Punilla 16304 San Fabián \n", - "345 Punilla 16305 San Nicolás \n", - "\n", - "[346 rows x 7 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "observatoriologistico_df = pd.read_csv(\"sources/observatoriologistico.csv\", dtype=str)\n", "observatoriologistico_df" @@ -384,265 +67,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "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", - " \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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Subdivision category3166-2 codeSubdivision nameLocal variantLanguage codeRomanization systemParent subdivision
0regionCL-AI*Aisén del General Carlos Ibañez del CampoAysén, AisénesNaNNaN
1regionCL-AN*AntofagastaNaNesNaNNaN
2regionCL-AP*Arica y ParinacotaNaNesNaNNaN
3regionCL-AT*AtacamaNaNesNaNNaN
4regionCL-BI*BiobíoNaNesNaNNaN
5regionCL-CO*CoquimboNaNesNaNNaN
6regionCL-AR*La AraucaníaNaNesNaNNaN
7regionCL-LI*Libertador General Bernardo O'HigginsO'HigginsesNaNNaN
8regionCL-LL*Los LagosNaNesNaNNaN
9regionCL-LR*Los RíosNaNesNaNNaN
10regionCL-MA*MagallanesNaNesNaNNaN
11regionCL-ML*MauleNaNesNaNNaN
12regionCL-RM*Región Metropolitana de SantiagoNaNesNaNNaN
13regionCL-TA*TarapacáNaNesNaNNaN
14regionCL-VS*ValparaísoNaNesNaNNaN
15regionCL-NB*ÑubleNaNesNaNNaN
\n", - "
" - ], - "text/plain": [ - " Subdivision category 3166-2 code \\\n", - "0 region CL-AI* \n", - "1 region CL-AN* \n", - "2 region CL-AP* \n", - "3 region CL-AT* \n", - "4 region CL-BI* \n", - "5 region CL-CO* \n", - "6 region CL-AR* \n", - "7 region CL-LI* \n", - "8 region CL-LL* \n", - "9 region CL-LR* \n", - "10 region CL-MA* \n", - "11 region CL-ML* \n", - "12 region CL-RM* \n", - "13 region CL-TA* \n", - "14 region CL-VS* \n", - "15 region CL-NB* \n", - "\n", - " Subdivision name Local variant Language code \\\n", - "0 Aisén del General Carlos Ibañez del Campo Aysén, Aisén es \n", - "1 Antofagasta NaN es \n", - "2 Arica y Parinacota NaN es \n", - "3 Atacama NaN es \n", - "4 Biobío NaN es \n", - "5 Coquimbo NaN es \n", - "6 La Araucanía NaN es \n", - "7 Libertador General Bernardo O'Higgins O'Higgins es \n", - "8 Los Lagos NaN es \n", - "9 Los Ríos NaN es \n", - "10 Magallanes NaN es \n", - "11 Maule NaN es \n", - "12 Región Metropolitana de Santiago NaN es \n", - "13 Tarapacá NaN es \n", - "14 Valparaíso NaN es \n", - "15 Ñuble NaN es \n", - "\n", - " Romanization system Parent subdivision \n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "3 NaN NaN \n", - "4 NaN NaN \n", - "5 NaN NaN \n", - "6 NaN NaN \n", - "7 NaN NaN \n", - "8 NaN NaN \n", - "9 NaN NaN \n", - "10 NaN NaN \n", - "11 NaN NaN \n", - "12 NaN NaN \n", - "13 NaN NaN \n", - "14 NaN NaN \n", - "15 NaN NaN " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "\n", "iso_df = pd.read_csv(\"sources/iso.csv\")\n", @@ -658,251 +85,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "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", - " \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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Código RegiónNombre RegiónAbreviatura RegiónCódigo ProvinciaNombre ProvinciaCódigo Comuna 2018Nombre Comunacorrected_nameclean_iso_codecódigonombre
001TarapacáTPCA011Iquique01101IquiqueTarapacáCL-TA01Región de Tarapacá
101TarapacáTPCA011Iquique01107Alto HospicioTarapacáCL-TA01Región de Tarapacá
201TarapacáTPCA014Tamarugal01401Pozo AlmonteTarapacáCL-TA01Región de Tarapacá
301TarapacáTPCA014Tamarugal01402CamiñaTarapacáCL-TA01Región de Tarapacá
401TarapacáTPCA014Tamarugal01403ColchaneTarapacáCL-TA01Región de Tarapacá
....................................
34116ÑubleNUBLE163Punilla16301San CarlosÑubleCL-NB16Región de Ñuble
34216ÑubleNUBLE163Punilla16302CoihuecoÑubleCL-NB16Región de Ñuble
34316ÑubleNUBLE163Punilla16303ÑiquénÑubleCL-NB16Región de Ñuble
34416ÑubleNUBLE163Punilla16304San FabiánÑubleCL-NB16Región de Ñuble
34516ÑubleNUBLE163Punilla16305San NicolásÑubleCL-NB16Región de Ñuble
\n", - "

346 rows × 11 columns

\n", - "
" - ], - "text/plain": [ - " Código Región Nombre Región Abreviatura Región Código Provincia \\\n", - "0 01 Tarapacá TPCA 011 \n", - "1 01 Tarapacá TPCA 011 \n", - "2 01 Tarapacá TPCA 014 \n", - "3 01 Tarapacá TPCA 014 \n", - "4 01 Tarapacá TPCA 014 \n", - ".. ... ... ... ... \n", - "341 16 Ñuble NUBLE 163 \n", - "342 16 Ñuble NUBLE 163 \n", - "343 16 Ñuble NUBLE 163 \n", - "344 16 Ñuble NUBLE 163 \n", - "345 16 Ñuble NUBLE 163 \n", - "\n", - " Nombre Provincia Código Comuna 2018 Nombre Comuna corrected_name \\\n", - "0 Iquique 01101 Iquique Tarapacá \n", - "1 Iquique 01107 Alto Hospicio Tarapacá \n", - "2 Tamarugal 01401 Pozo Almonte Tarapacá \n", - "3 Tamarugal 01402 Camiña Tarapacá \n", - "4 Tamarugal 01403 Colchane Tarapacá \n", - ".. ... ... ... ... \n", - "341 Punilla 16301 San Carlos Ñuble \n", - "342 Punilla 16302 Coihueco Ñuble \n", - "343 Punilla 16303 Ñiquén Ñuble \n", - "344 Punilla 16304 San Fabián Ñuble \n", - "345 Punilla 16305 San Nicolás Ñuble \n", - "\n", - " clean_iso_code código nombre \n", - "0 CL-TA 01 Región de Tarapacá \n", - "1 CL-TA 01 Región de Tarapacá \n", - "2 CL-TA 01 Región de Tarapacá \n", - "3 CL-TA 01 Región de Tarapacá \n", - "4 CL-TA 01 Región de Tarapacá \n", - ".. ... ... ... \n", - "341 CL-NB 16 Región de Ñuble \n", - "342 CL-NB 16 Región de Ñuble \n", - "343 CL-NB 16 Región de Ñuble \n", - "344 CL-NB 16 Región de Ñuble \n", - "345 CL-NB 16 Región de Ñuble \n", - "\n", - "[346 rows x 11 columns]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "def apply_replacements(text, replacements):\n", " for wrong, correct in replacements.items():\n", @@ -954,213 +139,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "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", - " \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", - "
idnameshort_nameabbreviationiso_code
601Región de TarapacáTarapacáTPCACL-TA
1502Región de AntofagastaAntofagastaANTOFCL-AN
2403Región de AtacamaAtacamaATCMACL-AT
3904Región de CoquimboCoquimboCOQCL-CO
7705Región de ValparaísoValparaísoVALPOCL-VS
11006Región del Libertador General Bernardo O'HigginsLibertador General Bernardo O'HigginsLGBOCL-LI
14007Región del MauleMauleMAULECL-ML
17308Región del BiobíoBiobíoBBIOCL-BI
20509Región de La AraucaníaLa AraucaníaARAUCCL-AR
23510Región de Los LagosLos LagosLAGOSCL-LL
24511Región Aysén del General Carlos Ibáñez del CampoAysén del General Carlos Ibáñez del CampoAYSENCL-AI
25612Región de Magallanes y de la Antártica ChilenaMagallanes y de la Antártica ChilenaMAGCL-MA
30813Región Metropolitana de SantiagoMetropolitana de SantiagoRMCL-RM
32014Región de Los RíosLos RíosRIOSCL-LR
32415Región de Arica y ParinacotaArica y ParinacotaAyPCL-AP
34516Región de ÑubleÑubleNUBLECL-NB
\n", - "
" - ], - "text/plain": [ - " id name \\\n", - "6 01 Región de Tarapacá \n", - "15 02 Región de Antofagasta \n", - "24 03 Región de Atacama \n", - "39 04 Región de Coquimbo \n", - "77 05 Región de Valparaíso \n", - "110 06 Región del Libertador General Bernardo O'Higgins \n", - "140 07 Región del Maule \n", - "173 08 Región del Biobío \n", - "205 09 Región de La Araucanía \n", - "235 10 Región de Los Lagos \n", - "245 11 Región Aysén del General Carlos Ibáñez del Campo \n", - "256 12 Región de Magallanes y de la Antártica Chilena \n", - "308 13 Región Metropolitana de Santiago \n", - "320 14 Región de Los Ríos \n", - "324 15 Región de Arica y Parinacota \n", - "345 16 Región de Ñuble \n", - "\n", - " short_name abbreviation iso_code \n", - "6 Tarapacá TPCA CL-TA \n", - "15 Antofagasta ANTOF CL-AN \n", - "24 Atacama ATCMA CL-AT \n", - "39 Coquimbo COQ CL-CO \n", - "77 Valparaíso VALPO CL-VS \n", - "110 Libertador General Bernardo O'Higgins LGBO CL-LI \n", - "140 Maule MAULE CL-ML \n", - "173 Biobío BBIO CL-BI \n", - "205 La Araucanía ARAUC CL-AR \n", - "235 Los Lagos LAGOS CL-LL \n", - "245 Aysén del General Carlos Ibáñez del Campo AYSEN CL-AI \n", - "256 Magallanes y de la Antártica Chilena MAG CL-MA \n", - "308 Metropolitana de Santiago RM CL-RM \n", - "320 Los Ríos RIOS CL-LR \n", - "324 Arica y Parinacota AyP CL-AP \n", - "345 Ñuble NUBLE CL-NB " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Seleccionar y renombrar las columnas necesarias para el DataFrame final\n", "regions_df = merged_df[\n", @@ -1184,441 +165,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "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", - " \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", - " \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", - " \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", - " \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", - "
idnameregion_id
1011Iquique01
6014Tamarugal01
10021Antofagasta02
13022El Loa02
15023Tocopilla02
18031Copiapó03
20032Chañaral03
24033Huasco03
30041Elqui04
34042Choapa04
39043Limarí04
46051Valparaíso05
47052Isla de Pascua05
51053Los Andes05
56054Petorca05
61055Quillota05
67056San Antonio05
73057San Felipe de Aconcagua05
77058Marga Marga05
94061Cachapoal06
100062Cardenal Caro06
110063Colchagua06
120071Talca07
123072Cauquenes07
132073Curicó07
140074Linares07
152081Concepción08
159082Arauco08
173083Biobío08
194091Cautín09
205092Malleco09
214101Llanquihue10
224102Chiloé10
231103Osorno10
235104Palena10
237111Coyhaique11
240112Aysén11
243113Capitán Prat11
245114General Carrera11
249121Magallanes12
251122Antártica Chilena12
254123Tierra del Fuego12
256124Última Esperanza12
288131Santiago13
291132Cordillera13
294133Chacabuco13
298134Maipo13
303135Melipilla13
308136Talagante13
316141Valdivia14
320142Ranco14
322151Arica15
324152Parinacota15
333161Diguillín16
340162Itata16
345163Punilla16
\n", - "
" - ], - "text/plain": [ - " id name region_id\n", - "1 011 Iquique 01\n", - "6 014 Tamarugal 01\n", - "10 021 Antofagasta 02\n", - "13 022 El Loa 02\n", - "15 023 Tocopilla 02\n", - "18 031 Copiapó 03\n", - "20 032 Chañaral 03\n", - "24 033 Huasco 03\n", - "30 041 Elqui 04\n", - "34 042 Choapa 04\n", - "39 043 Limarí 04\n", - "46 051 Valparaíso 05\n", - "47 052 Isla de Pascua 05\n", - "51 053 Los Andes 05\n", - "56 054 Petorca 05\n", - "61 055 Quillota 05\n", - "67 056 San Antonio 05\n", - "73 057 San Felipe de Aconcagua 05\n", - "77 058 Marga Marga 05\n", - "94 061 Cachapoal 06\n", - "100 062 Cardenal Caro 06\n", - "110 063 Colchagua 06\n", - "120 071 Talca 07\n", - "123 072 Cauquenes 07\n", - "132 073 Curicó 07\n", - "140 074 Linares 07\n", - "152 081 Concepción 08\n", - "159 082 Arauco 08\n", - "173 083 Biobío 08\n", - "194 091 Cautín 09\n", - "205 092 Malleco 09\n", - "214 101 Llanquihue 10\n", - "224 102 Chiloé 10\n", - "231 103 Osorno 10\n", - "235 104 Palena 10\n", - "237 111 Coyhaique 11\n", - "240 112 Aysén 11\n", - "243 113 Capitán Prat 11\n", - "245 114 General Carrera 11\n", - "249 121 Magallanes 12\n", - "251 122 Antártica Chilena 12\n", - "254 123 Tierra del Fuego 12\n", - "256 124 Última Esperanza 12\n", - "288 131 Santiago 13\n", - "291 132 Cordillera 13\n", - "294 133 Chacabuco 13\n", - "298 134 Maipo 13\n", - "303 135 Melipilla 13\n", - "308 136 Talagante 13\n", - "316 141 Valdivia 14\n", - "320 142 Ranco 14\n", - "322 151 Arica 15\n", - "324 152 Parinacota 15\n", - "333 161 Diguillín 16\n", - "340 162 Itata 16\n", - "345 163 Punilla 16" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "provinces_df = observatoriologistico_df[\n", " [\"Código Provincia\", \"Nombre Provincia\", \"Código Región\"]\n", @@ -1640,129 +189,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "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", - " \n", - " \n", - "
idnameprovince_id
001101Iquique011
101107Alto Hospicio011
201401Pozo Almonte014
301402Camiña014
401403Colchane014
............
34116301San Carlos163
34216302Coihueco163
34316303Ñiquén163
34416304San Fabián163
34516305San Nicolás163
\n", - "

346 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " id name province_id\n", - "0 01101 Iquique 011\n", - "1 01107 Alto Hospicio 011\n", - "2 01401 Pozo Almonte 014\n", - "3 01402 Camiña 014\n", - "4 01403 Colchane 014\n", - ".. ... ... ...\n", - "341 16301 San Carlos 163\n", - "342 16302 Coihueco 163\n", - "343 16303 Ñiquén 163\n", - "344 16304 San Fabián 163\n", - "345 16305 San Nicolás 163\n", - "\n", - "[346 rows x 3 columns]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "communes_df = observatoriologistico_df[\n", " [\"Código Comuna 2018\", \"Nombre Comuna\", \"Código Provincia\"]\n", @@ -1784,1890 +213,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Datos Territoriales como objeto JSON" + "### Datos Territoriales como objeto JSON" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"country\": \"Chile\",\n", - " \"regions\": {\n", - " \"01\": {\n", - " \"id\": \"01\",\n", - " \"name\": \"Región de Tarapacá\",\n", - " \"short_name\": \"Tarapacá\",\n", - " \"abbreviation\": \"TPCA\",\n", - " \"iso_code\": \"CL-TA\",\n", - " \"provinces\": {\n", - " \"011\": {\n", - " \"id\": \"011\",\n", - " \"name\": \"Iquique\",\n", - " \"communes\": {\n", - " \"01101\": {\n", - " \"id\": \"01101\",\n", - " \"name\": \"Iquique\"\n", - " },\n", - " \"01107\": {\n", - " \"id\": \"01107\",\n", - " \"name\": \"Alto Hospicio\"\n", - " }\n", - " }\n", - " },\n", - " \"014\": {\n", - " \"id\": \"014\",\n", - " \"name\": \"Tamarugal\",\n", - " \"communes\": {\n", - " \"01401\": {\n", - " \"id\": \"01401\",\n", - " \"name\": \"Pozo Almonte\"\n", - " },\n", - " \"01402\": {\n", - " \"id\": \"01402\",\n", - " \"name\": \"Camiña\"\n", - " },\n", - " \"01403\": {\n", - " \"id\": \"01403\",\n", - " \"name\": \"Colchane\"\n", - " },\n", - " \"01404\": {\n", - " \"id\": \"01404\",\n", - " \"name\": \"Huara\"\n", - " },\n", - " \"01405\": {\n", - " \"id\": \"01405\",\n", - " \"name\": \"Pica\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"02\": {\n", - " \"id\": \"02\",\n", - " \"name\": \"Región de Antofagasta\",\n", - " \"short_name\": \"Antofagasta\",\n", - " \"abbreviation\": \"ANTOF\",\n", - " \"iso_code\": \"CL-AN\",\n", - " \"provinces\": {\n", - " \"021\": {\n", - " \"id\": \"021\",\n", - " \"name\": \"Antofagasta\",\n", - " \"communes\": {\n", - " \"02101\": {\n", - " \"id\": \"02101\",\n", - " \"name\": \"Antofagasta\"\n", - " },\n", - " \"02102\": {\n", - " \"id\": \"02102\",\n", - " \"name\": \"Mejillones\"\n", - " },\n", - " \"02103\": {\n", - " \"id\": \"02103\",\n", - " \"name\": \"Sierra Gorda\"\n", - " },\n", - " \"02104\": {\n", - " \"id\": \"02104\",\n", - " \"name\": \"Taltal\"\n", - " }\n", - " }\n", - " },\n", - " \"022\": {\n", - " \"id\": \"022\",\n", - " \"name\": \"El Loa\",\n", - " \"communes\": {\n", - " \"02201\": {\n", - " \"id\": \"02201\",\n", - " \"name\": \"Calama\"\n", - " },\n", - " \"02202\": {\n", - " \"id\": \"02202\",\n", - " \"name\": \"Ollagüe\"\n", - " },\n", - " \"02203\": {\n", - " \"id\": \"02203\",\n", - " \"name\": \"San Pedro de Atacama\"\n", - " }\n", - " }\n", - " },\n", - " \"023\": {\n", - " \"id\": \"023\",\n", - " \"name\": \"Tocopilla\",\n", - " \"communes\": {\n", - " \"02301\": {\n", - " \"id\": \"02301\",\n", - " \"name\": \"Tocopilla\"\n", - " },\n", - " \"02302\": {\n", - " \"id\": \"02302\",\n", - " \"name\": \"María Elena\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"03\": {\n", - " \"id\": \"03\",\n", - " \"name\": \"Región de Atacama\",\n", - " \"short_name\": \"Atacama\",\n", - " \"abbreviation\": \"ATCMA\",\n", - " \"iso_code\": \"CL-AT\",\n", - " \"provinces\": {\n", - " \"031\": {\n", - " \"id\": \"031\",\n", - " \"name\": \"Copiapó\",\n", - " \"communes\": {\n", - " \"03101\": {\n", - " \"id\": \"03101\",\n", - " \"name\": \"Copiapó\"\n", - " },\n", - " \"03102\": {\n", - " \"id\": \"03102\",\n", - " \"name\": \"Caldera\"\n", - " },\n", - " \"03103\": {\n", - " \"id\": \"03103\",\n", - " \"name\": \"Tierra Amarilla\"\n", - " }\n", - " }\n", - " },\n", - " \"032\": {\n", - " \"id\": \"032\",\n", - " \"name\": \"Chañaral\",\n", - " \"communes\": {\n", - " \"03201\": {\n", - " \"id\": \"03201\",\n", - " \"name\": \"Chañaral\"\n", - " },\n", - " \"03202\": {\n", - " \"id\": \"03202\",\n", - " \"name\": \"Diego de Almagro\"\n", - " }\n", - " }\n", - " },\n", - " \"033\": {\n", - " \"id\": \"033\",\n", - " \"name\": \"Huasco\",\n", - " \"communes\": {\n", - " \"03301\": {\n", - " \"id\": \"03301\",\n", - " \"name\": \"Vallenar\"\n", - " },\n", - " \"03302\": {\n", - " \"id\": \"03302\",\n", - " \"name\": \"Alto del Carmen\"\n", - " },\n", - " \"03303\": {\n", - " \"id\": \"03303\",\n", - " \"name\": \"Freirina\"\n", - " },\n", - " \"03304\": {\n", - " \"id\": \"03304\",\n", - " \"name\": \"Huasco\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"04\": {\n", - " \"id\": \"04\",\n", - " \"name\": \"Región de Coquimbo\",\n", - " \"short_name\": \"Coquimbo\",\n", - " \"abbreviation\": \"COQ\",\n", - " \"iso_code\": \"CL-CO\",\n", - " \"provinces\": {\n", - " \"041\": {\n", - " \"id\": \"041\",\n", - " \"name\": \"Elqui\",\n", - " \"communes\": {\n", - " \"04101\": {\n", - " \"id\": \"04101\",\n", - " \"name\": \"La Serena\"\n", - " },\n", - " \"04102\": {\n", - " \"id\": \"04102\",\n", - " \"name\": \"Coquimbo\"\n", - " },\n", - " \"04103\": {\n", - " \"id\": \"04103\",\n", - " \"name\": \"Andacollo\"\n", - " },\n", - " \"04104\": {\n", - " \"id\": \"04104\",\n", - " \"name\": \"La Higuera\"\n", - " },\n", - " \"04105\": {\n", - " \"id\": \"04105\",\n", - " \"name\": \"Paiguano\"\n", - " },\n", - " \"04106\": {\n", - " \"id\": \"04106\",\n", - " \"name\": \"Vicuña\"\n", - " }\n", - " }\n", - " },\n", - " \"042\": {\n", - " \"id\": \"042\",\n", - " \"name\": \"Choapa\",\n", - " \"communes\": {\n", - " \"04201\": {\n", - " \"id\": \"04201\",\n", - " \"name\": \"Illapel\"\n", - " },\n", - " \"04202\": {\n", - " \"id\": \"04202\",\n", - " \"name\": \"Canela\"\n", - " },\n", - " \"04203\": {\n", - " \"id\": \"04203\",\n", - " \"name\": \"Los Vilos\"\n", - " },\n", - " \"04204\": {\n", - " \"id\": \"04204\",\n", - " \"name\": \"Salamanca\"\n", - " }\n", - " }\n", - " },\n", - " \"043\": {\n", - " \"id\": \"043\",\n", - " \"name\": \"Limarí\",\n", - " \"communes\": {\n", - " \"04301\": {\n", - " \"id\": \"04301\",\n", - " \"name\": \"Ovalle\"\n", - " },\n", - " \"04302\": {\n", - " \"id\": \"04302\",\n", - " \"name\": \"Combarbalá\"\n", - " },\n", - " \"04303\": {\n", - " \"id\": \"04303\",\n", - " \"name\": \"Monte Patria\"\n", - " },\n", - " \"04304\": {\n", - " \"id\": \"04304\",\n", - " \"name\": \"Punitaqui\"\n", - " },\n", - " \"04305\": {\n", - " \"id\": \"04305\",\n", - " \"name\": \"Río Hurtado\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"05\": {\n", - " \"id\": \"05\",\n", - " \"name\": \"Región de Valparaíso\",\n", - " \"short_name\": \"Valparaíso\",\n", - " \"abbreviation\": \"VALPO\",\n", - " \"iso_code\": \"CL-VS\",\n", - " \"provinces\": {\n", - " \"051\": {\n", - " \"id\": \"051\",\n", - " \"name\": \"Valparaíso\",\n", - " \"communes\": {\n", - " \"05101\": {\n", - " \"id\": \"05101\",\n", - " \"name\": \"Valparaíso\"\n", - " },\n", - " \"05102\": {\n", - " \"id\": \"05102\",\n", - " \"name\": \"Casablanca\"\n", - " },\n", - " \"05103\": {\n", - " \"id\": \"05103\",\n", - " \"name\": \"Concón\"\n", - " },\n", - " \"05104\": {\n", - " \"id\": \"05104\",\n", - " \"name\": \"Juan Fernández\"\n", - " },\n", - " \"05105\": {\n", - " \"id\": \"05105\",\n", - " \"name\": \"Puchuncaví\"\n", - " },\n", - " \"05107\": {\n", - " \"id\": \"05107\",\n", - " \"name\": \"Quintero\"\n", - " },\n", - " \"05109\": {\n", - " \"id\": \"05109\",\n", - " \"name\": \"Viña del Mar\"\n", - " }\n", - " }\n", - " },\n", - " \"052\": {\n", - " \"id\": \"052\",\n", - " \"name\": \"Isla de Pascua\",\n", - " \"communes\": {\n", - " \"05201\": {\n", - " \"id\": \"05201\",\n", - " \"name\": \"Isla de Pascua\"\n", - " }\n", - " }\n", - " },\n", - " \"053\": {\n", - " \"id\": \"053\",\n", - " \"name\": \"Los Andes\",\n", - " \"communes\": {\n", - " \"05301\": {\n", - " \"id\": \"05301\",\n", - " \"name\": \"Los Andes\"\n", - " },\n", - " \"05302\": {\n", - " \"id\": \"05302\",\n", - " \"name\": \"Calle Larga\"\n", - " },\n", - " \"05303\": {\n", - " \"id\": \"05303\",\n", - " \"name\": \"Rinconada\"\n", - " },\n", - " \"05304\": {\n", - " \"id\": \"05304\",\n", - " \"name\": \"San Esteban\"\n", - " }\n", - " }\n", - " },\n", - " \"054\": {\n", - " \"id\": \"054\",\n", - " \"name\": \"Petorca\",\n", - " \"communes\": {\n", - " \"05401\": {\n", - " \"id\": \"05401\",\n", - " \"name\": \"La Ligua\"\n", - " },\n", - " \"05402\": {\n", - " \"id\": \"05402\",\n", - " \"name\": \"Cabildo\"\n", - " },\n", - " \"05403\": {\n", - " \"id\": \"05403\",\n", - " \"name\": \"Papudo\"\n", - " },\n", - " \"05404\": {\n", - " \"id\": \"05404\",\n", - " \"name\": \"Petorca\"\n", - " },\n", - " \"05405\": {\n", - " \"id\": \"05405\",\n", - " \"name\": \"Zapallar\"\n", - " }\n", - " }\n", - " },\n", - " \"055\": {\n", - " \"id\": \"055\",\n", - " \"name\": \"Quillota\",\n", - " \"communes\": {\n", - " \"05501\": {\n", - " \"id\": \"05501\",\n", - " \"name\": \"Quillota\"\n", - " },\n", - " \"05502\": {\n", - " \"id\": \"05502\",\n", - " \"name\": \"Calera\"\n", - " },\n", - " \"05503\": {\n", - " \"id\": \"05503\",\n", - " \"name\": \"Hijuelas\"\n", - " },\n", - " \"05504\": {\n", - " \"id\": \"05504\",\n", - " \"name\": \"La Cruz\"\n", - " },\n", - " \"05506\": {\n", - " \"id\": \"05506\",\n", - " \"name\": \"Nogales\"\n", - " }\n", - " }\n", - " },\n", - " \"056\": {\n", - " \"id\": \"056\",\n", - " \"name\": \"San Antonio\",\n", - " \"communes\": {\n", - " \"05601\": {\n", - " \"id\": \"05601\",\n", - " \"name\": \"San Antonio\"\n", - " },\n", - " \"05602\": {\n", - " \"id\": \"05602\",\n", - " \"name\": \"Algarrobo\"\n", - " },\n", - " \"05603\": {\n", - " \"id\": \"05603\",\n", - " \"name\": \"Cartagena\"\n", - " },\n", - " \"05604\": {\n", - " \"id\": \"05604\",\n", - " \"name\": \"El Quisco\"\n", - " },\n", - " \"05605\": {\n", - " \"id\": \"05605\",\n", - " \"name\": \"El Tabo\"\n", - " },\n", - " \"05606\": {\n", - " \"id\": \"05606\",\n", - " \"name\": \"Santo Domingo\"\n", - " }\n", - " }\n", - " },\n", - " \"057\": {\n", - " \"id\": \"057\",\n", - " \"name\": \"San Felipe de Aconcagua\",\n", - " \"communes\": {\n", - " \"05701\": {\n", - " \"id\": \"05701\",\n", - " \"name\": \"San Felipe\"\n", - " },\n", - " \"05702\": {\n", - " \"id\": \"05702\",\n", - " \"name\": \"Catemu\"\n", - " },\n", - " \"05703\": {\n", - " \"id\": \"05703\",\n", - " \"name\": \"Llaillay\"\n", - " },\n", - " \"05704\": {\n", - " \"id\": \"05704\",\n", - " \"name\": \"Panquehue\"\n", - " },\n", - " \"05705\": {\n", - " \"id\": \"05705\",\n", - " \"name\": \"Putaendo\"\n", - " },\n", - " \"05706\": {\n", - " \"id\": \"05706\",\n", - " \"name\": \"Santa María\"\n", - " }\n", - " }\n", - " },\n", - " \"058\": {\n", - " \"id\": \"058\",\n", - " \"name\": \"Marga Marga\",\n", - " \"communes\": {\n", - " \"05801\": {\n", - " \"id\": \"05801\",\n", - " \"name\": \"Quilpué\"\n", - " },\n", - " \"05802\": {\n", - " \"id\": \"05802\",\n", - " \"name\": \"Limache\"\n", - " },\n", - " \"05803\": {\n", - " \"id\": \"05803\",\n", - " \"name\": \"Olmué\"\n", - " },\n", - " \"05804\": {\n", - " \"id\": \"05804\",\n", - " \"name\": \"Villa Alemana\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"06\": {\n", - " \"id\": \"06\",\n", - " \"name\": \"Región del Libertador General Bernardo O'Higgins\",\n", - " \"short_name\": \"Libertador General Bernardo O'Higgins\",\n", - " \"abbreviation\": \"LGBO\",\n", - " \"iso_code\": \"CL-LI\",\n", - " \"provinces\": {\n", - " \"061\": {\n", - " \"id\": \"061\",\n", - " \"name\": \"Cachapoal\",\n", - " \"communes\": {\n", - " \"06101\": {\n", - " \"id\": \"06101\",\n", - " \"name\": \"Rancagua\"\n", - " },\n", - " \"06102\": {\n", - " \"id\": \"06102\",\n", - " \"name\": \"Codegua\"\n", - " },\n", - " \"06103\": {\n", - " \"id\": \"06103\",\n", - " \"name\": \"Coinco\"\n", - " },\n", - " \"06104\": {\n", - " \"id\": \"06104\",\n", - " \"name\": \"Coltauco\"\n", - " },\n", - " \"06105\": {\n", - " \"id\": \"06105\",\n", - " \"name\": \"Doñihue\"\n", - " },\n", - " \"06106\": {\n", - " \"id\": \"06106\",\n", - " \"name\": \"Graneros\"\n", - " },\n", - " \"06107\": {\n", - " \"id\": \"06107\",\n", - " \"name\": \"Las Cabras\"\n", - " },\n", - " \"06108\": {\n", - " \"id\": \"06108\",\n", - " \"name\": \"Machalí\"\n", - " },\n", - " \"06109\": {\n", - " \"id\": \"06109\",\n", - " \"name\": \"Malloa\"\n", - " },\n", - " \"06110\": {\n", - " \"id\": \"06110\",\n", - " \"name\": \"Mostazal\"\n", - " },\n", - " \"06111\": {\n", - " \"id\": \"06111\",\n", - " \"name\": \"Olivar\"\n", - " },\n", - " \"06112\": {\n", - " \"id\": \"06112\",\n", - " \"name\": \"Peumo\"\n", - " },\n", - " \"06113\": {\n", - " \"id\": \"06113\",\n", - " \"name\": \"Pichidegua\"\n", - " },\n", - " \"06114\": {\n", - " \"id\": \"06114\",\n", - " \"name\": \"Quinta de Tilcoco\"\n", - " },\n", - " \"06115\": {\n", - " \"id\": \"06115\",\n", - " \"name\": \"Rengo\"\n", - " },\n", - " \"06116\": {\n", - " \"id\": \"06116\",\n", - " \"name\": \"Requínoa\"\n", - " },\n", - " \"06117\": {\n", - " \"id\": \"06117\",\n", - " \"name\": \"San Vicente\"\n", - " }\n", - " }\n", - " },\n", - " \"062\": {\n", - " \"id\": \"062\",\n", - " \"name\": \"Cardenal Caro\",\n", - " \"communes\": {\n", - " \"06201\": {\n", - " \"id\": \"06201\",\n", - " \"name\": \"Pichilemu\"\n", - " },\n", - " \"06202\": {\n", - " \"id\": \"06202\",\n", - " \"name\": \"La Estrella\"\n", - " },\n", - " \"06203\": {\n", - " \"id\": \"06203\",\n", - " \"name\": \"Litueche\"\n", - " },\n", - " \"06204\": {\n", - " \"id\": \"06204\",\n", - " \"name\": \"Marchihue\"\n", - " },\n", - " \"06205\": {\n", - " \"id\": \"06205\",\n", - " \"name\": \"Navidad\"\n", - " },\n", - " \"06206\": {\n", - " \"id\": \"06206\",\n", - " \"name\": \"Paredones\"\n", - " }\n", - " }\n", - " },\n", - " \"063\": {\n", - " \"id\": \"063\",\n", - " \"name\": \"Colchagua\",\n", - " \"communes\": {\n", - " \"06301\": {\n", - " \"id\": \"06301\",\n", - " \"name\": \"San Fernando\"\n", - " },\n", - " \"06302\": {\n", - " \"id\": \"06302\",\n", - " \"name\": \"Chépica\"\n", - " },\n", - " \"06303\": {\n", - " \"id\": \"06303\",\n", - " \"name\": \"Chimbarongo\"\n", - " },\n", - " \"06304\": {\n", - " \"id\": \"06304\",\n", - " \"name\": \"Lolol\"\n", - " },\n", - " \"06305\": {\n", - " \"id\": \"06305\",\n", - " \"name\": \"Nancagua\"\n", - " },\n", - " \"06306\": {\n", - " \"id\": \"06306\",\n", - " \"name\": \"Palmilla\"\n", - " },\n", - " \"06307\": {\n", - " \"id\": \"06307\",\n", - " \"name\": \"Peralillo\"\n", - " },\n", - " \"06308\": {\n", - " \"id\": \"06308\",\n", - " \"name\": \"Placilla\"\n", - " },\n", - " \"06309\": {\n", - " \"id\": \"06309\",\n", - " \"name\": \"Pumanque\"\n", - " },\n", - " \"06310\": {\n", - " \"id\": \"06310\",\n", - " \"name\": \"Santa Cruz\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"07\": {\n", - " \"id\": \"07\",\n", - " \"name\": \"Región del Maule\",\n", - " \"short_name\": \"Maule\",\n", - " \"abbreviation\": \"MAULE\",\n", - " \"iso_code\": \"CL-ML\",\n", - " \"provinces\": {\n", - " \"071\": {\n", - " \"id\": \"071\",\n", - " \"name\": \"Talca\",\n", - " \"communes\": {\n", - " \"07101\": {\n", - " \"id\": \"07101\",\n", - " \"name\": \"Talca\"\n", - " },\n", - " \"07102\": {\n", - " \"id\": \"07102\",\n", - " \"name\": \"Constitución\"\n", - " },\n", - " \"07103\": {\n", - " \"id\": \"07103\",\n", - " \"name\": \"Curepto\"\n", - " },\n", - " \"07104\": {\n", - " \"id\": \"07104\",\n", - " \"name\": \"Empedrado\"\n", - " },\n", - " \"07105\": {\n", - " \"id\": \"07105\",\n", - " \"name\": \"Maule\"\n", - " },\n", - " \"07106\": {\n", - " \"id\": \"07106\",\n", - " \"name\": \"Pelarco\"\n", - " },\n", - " \"07107\": {\n", - " \"id\": \"07107\",\n", - " \"name\": \"Pencahue\"\n", - " },\n", - " \"07108\": {\n", - " \"id\": \"07108\",\n", - " \"name\": \"Río Claro\"\n", - " },\n", - " \"07109\": {\n", - " \"id\": \"07109\",\n", - " \"name\": \"San Clemente\"\n", - " },\n", - " \"07110\": {\n", - " \"id\": \"07110\",\n", - " \"name\": \"San Rafael\"\n", - " }\n", - " }\n", - " },\n", - " \"072\": {\n", - " \"id\": \"072\",\n", - " \"name\": \"Cauquenes\",\n", - " \"communes\": {\n", - " \"07201\": {\n", - " \"id\": \"07201\",\n", - " \"name\": \"Cauquenes\"\n", - " },\n", - " \"07202\": {\n", - " \"id\": \"07202\",\n", - " \"name\": \"Chanco\"\n", - " },\n", - " \"07203\": {\n", - " \"id\": \"07203\",\n", - " \"name\": \"Pelluhue\"\n", - " }\n", - " }\n", - " },\n", - " \"073\": {\n", - " \"id\": \"073\",\n", - " \"name\": \"Curicó\",\n", - " \"communes\": {\n", - " \"07301\": {\n", - " \"id\": \"07301\",\n", - " \"name\": \"Curicó\"\n", - " },\n", - " \"07302\": {\n", - " \"id\": \"07302\",\n", - " \"name\": \"Hualañé\"\n", - " },\n", - " \"07303\": {\n", - " \"id\": \"07303\",\n", - " \"name\": \"Licantén\"\n", - " },\n", - " \"07304\": {\n", - " \"id\": \"07304\",\n", - " \"name\": \"Molina\"\n", - " },\n", - " \"07305\": {\n", - " \"id\": \"07305\",\n", - " \"name\": \"Rauco\"\n", - " },\n", - " \"07306\": {\n", - " \"id\": \"07306\",\n", - " \"name\": \"Romeral\"\n", - " },\n", - " \"07307\": {\n", - " \"id\": \"07307\",\n", - " \"name\": \"Sagrada Familia\"\n", - " },\n", - " \"07308\": {\n", - " \"id\": \"07308\",\n", - " \"name\": \"Teno\"\n", - " },\n", - " \"07309\": {\n", - " \"id\": \"07309\",\n", - " \"name\": \"Vichuquén\"\n", - " }\n", - " }\n", - " },\n", - " \"074\": {\n", - " \"id\": \"074\",\n", - " \"name\": \"Linares\",\n", - " \"communes\": {\n", - " \"07401\": {\n", - " \"id\": \"07401\",\n", - " \"name\": \"Linares\"\n", - " },\n", - " \"07402\": {\n", - " \"id\": \"07402\",\n", - " \"name\": \"Colbún\"\n", - " },\n", - " \"07403\": {\n", - " \"id\": \"07403\",\n", - " \"name\": \"Longaví\"\n", - " },\n", - " \"07404\": {\n", - " \"id\": \"07404\",\n", - " \"name\": \"Parral\"\n", - " },\n", - " \"07405\": {\n", - " \"id\": \"07405\",\n", - " \"name\": \"Retiro\"\n", - " },\n", - " \"07406\": {\n", - " \"id\": \"07406\",\n", - " \"name\": \"San Javier\"\n", - " },\n", - " \"07407\": {\n", - " \"id\": \"07407\",\n", - " \"name\": \"Villa Alegre\"\n", - " },\n", - " \"07408\": {\n", - " \"id\": \"07408\",\n", - " \"name\": \"Yerbas Buenas\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"08\": {\n", - " \"id\": \"08\",\n", - " \"name\": \"Región del Biobío\",\n", - " \"short_name\": \"Biobío\",\n", - " \"abbreviation\": \"BBIO\",\n", - " \"iso_code\": \"CL-BI\",\n", - " \"provinces\": {\n", - " \"081\": {\n", - " \"id\": \"081\",\n", - " \"name\": \"Concepción\",\n", - " \"communes\": {\n", - " \"08101\": {\n", - " \"id\": \"08101\",\n", - " \"name\": \"Concepción\"\n", - " },\n", - " \"08102\": {\n", - " \"id\": \"08102\",\n", - " \"name\": \"Coronel\"\n", - " },\n", - " \"08103\": {\n", - " \"id\": \"08103\",\n", - " \"name\": \"Chiguayante\"\n", - " },\n", - " \"08104\": {\n", - " \"id\": \"08104\",\n", - " \"name\": \"Florida\"\n", - " },\n", - " \"08105\": {\n", - " \"id\": \"08105\",\n", - " \"name\": \"Hualqui\"\n", - " },\n", - " \"08106\": {\n", - " \"id\": \"08106\",\n", - " \"name\": \"Lota\"\n", - " },\n", - " \"08107\": {\n", - " \"id\": \"08107\",\n", - " \"name\": \"Penco\"\n", - " },\n", - " \"08108\": {\n", - " \"id\": \"08108\",\n", - " \"name\": \"San Pedro de la Paz\"\n", - " },\n", - " \"08109\": {\n", - " \"id\": \"08109\",\n", - " \"name\": \"Santa Juana\"\n", - " },\n", - " \"08110\": {\n", - " \"id\": \"08110\",\n", - " \"name\": \"Talcahuano\"\n", - " },\n", - " \"08111\": {\n", - " \"id\": \"08111\",\n", - " \"name\": \"Tomé\"\n", - " },\n", - " \"08112\": {\n", - " \"id\": \"08112\",\n", - " \"name\": \"Hualpén\"\n", - " }\n", - " }\n", - " },\n", - " \"082\": {\n", - " \"id\": \"082\",\n", - " \"name\": \"Arauco\",\n", - " \"communes\": {\n", - " \"08201\": {\n", - " \"id\": \"08201\",\n", - " \"name\": \"Lebu\"\n", - " },\n", - " \"08202\": {\n", - " \"id\": \"08202\",\n", - " \"name\": \"Arauco\"\n", - " },\n", - " \"08203\": {\n", - " \"id\": \"08203\",\n", - " \"name\": \"Cañete\"\n", - " },\n", - " \"08204\": {\n", - " \"id\": \"08204\",\n", - " \"name\": \"Contulmo\"\n", - " },\n", - " \"08205\": {\n", - " \"id\": \"08205\",\n", - " \"name\": \"Curanilahue\"\n", - " },\n", - " \"08206\": {\n", - " \"id\": \"08206\",\n", - " \"name\": \"Los Alamos\"\n", - " },\n", - " \"08207\": {\n", - " \"id\": \"08207\",\n", - " \"name\": \"Tirúa\"\n", - " }\n", - " }\n", - " },\n", - " \"083\": {\n", - " \"id\": \"083\",\n", - " \"name\": \"Biobío\",\n", - " \"communes\": {\n", - " \"08301\": {\n", - " \"id\": \"08301\",\n", - " \"name\": \"Los Angeles\"\n", - " },\n", - " \"08302\": {\n", - " \"id\": \"08302\",\n", - " \"name\": \"Antuco\"\n", - " },\n", - " \"08303\": {\n", - " \"id\": \"08303\",\n", - " \"name\": \"Cabrero\"\n", - " },\n", - " \"08304\": {\n", - " \"id\": \"08304\",\n", - " \"name\": \"Laja\"\n", - " },\n", - " \"08305\": {\n", - " \"id\": \"08305\",\n", - " \"name\": \"Mulchén\"\n", - " },\n", - " \"08306\": {\n", - " \"id\": \"08306\",\n", - " \"name\": \"Nacimiento\"\n", - " },\n", - " \"08307\": {\n", - " \"id\": \"08307\",\n", - " \"name\": \"Negrete\"\n", - " },\n", - " \"08308\": {\n", - " \"id\": \"08308\",\n", - " \"name\": \"Quilaco\"\n", - " },\n", - " \"08309\": {\n", - " \"id\": \"08309\",\n", - " \"name\": \"Quilleco\"\n", - " },\n", - " \"08310\": {\n", - " \"id\": \"08310\",\n", - " \"name\": \"San Rosendo\"\n", - " },\n", - " \"08311\": {\n", - " \"id\": \"08311\",\n", - " \"name\": \"Santa Bárbara\"\n", - " },\n", - " \"08312\": {\n", - " \"id\": \"08312\",\n", - " \"name\": \"Tucapel\"\n", - " },\n", - " \"08313\": {\n", - " \"id\": \"08313\",\n", - " \"name\": \"Yumbel\"\n", - " },\n", - " \"08314\": {\n", - " \"id\": \"08314\",\n", - " \"name\": \"Alto Biobío\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"09\": {\n", - " \"id\": \"09\",\n", - " \"name\": \"Región de La Araucanía\",\n", - " \"short_name\": \"La Araucanía\",\n", - " \"abbreviation\": \"ARAUC\",\n", - " \"iso_code\": \"CL-AR\",\n", - " \"provinces\": {\n", - " \"091\": {\n", - " \"id\": \"091\",\n", - " \"name\": \"Cautín\",\n", - " \"communes\": {\n", - " \"09101\": {\n", - " \"id\": \"09101\",\n", - " \"name\": \"Temuco\"\n", - " },\n", - " \"09102\": {\n", - " \"id\": \"09102\",\n", - " \"name\": \"Carahue\"\n", - " },\n", - " \"09103\": {\n", - " \"id\": \"09103\",\n", - " \"name\": \"Cunco\"\n", - " },\n", - " \"09104\": {\n", - " \"id\": \"09104\",\n", - " \"name\": \"Curarrehue\"\n", - " },\n", - " \"09105\": {\n", - " \"id\": \"09105\",\n", - " \"name\": \"Freire\"\n", - " },\n", - " \"09106\": {\n", - " \"id\": \"09106\",\n", - " \"name\": \"Galvarino\"\n", - " },\n", - " \"09107\": {\n", - " \"id\": \"09107\",\n", - " \"name\": \"Gorbea\"\n", - " },\n", - " \"09108\": {\n", - " \"id\": \"09108\",\n", - " \"name\": \"Lautaro\"\n", - " },\n", - " \"09109\": {\n", - " \"id\": \"09109\",\n", - " \"name\": \"Loncoche\"\n", - " },\n", - " \"09110\": {\n", - " \"id\": \"09110\",\n", - " \"name\": \"Melipeuco\"\n", - " },\n", - " \"09111\": {\n", - " \"id\": \"09111\",\n", - " \"name\": \"Nueva Imperial\"\n", - " },\n", - " \"09112\": {\n", - " \"id\": \"09112\",\n", - " \"name\": \"Padre Las Casas\"\n", - " },\n", - " \"09113\": {\n", - " \"id\": \"09113\",\n", - " \"name\": \"Perquenco\"\n", - " },\n", - " \"09114\": {\n", - " \"id\": \"09114\",\n", - " \"name\": \"Pitrufquén\"\n", - " },\n", - " \"09115\": {\n", - " \"id\": \"09115\",\n", - " \"name\": \"Pucón\"\n", - " },\n", - " \"09116\": {\n", - " \"id\": \"09116\",\n", - " \"name\": \"Saavedra\"\n", - " },\n", - " \"09117\": {\n", - " \"id\": \"09117\",\n", - " \"name\": \"Teodoro Schmidt\"\n", - " },\n", - " \"09118\": {\n", - " \"id\": \"09118\",\n", - " \"name\": \"Toltén\"\n", - " },\n", - " \"09119\": {\n", - " \"id\": \"09119\",\n", - " \"name\": \"Vilcún\"\n", - " },\n", - " \"09120\": {\n", - " \"id\": \"09120\",\n", - " \"name\": \"Villarrica\"\n", - " },\n", - " \"09121\": {\n", - " \"id\": \"09121\",\n", - " \"name\": \"Cholchol\"\n", - " }\n", - " }\n", - " },\n", - " \"092\": {\n", - " \"id\": \"092\",\n", - " \"name\": \"Malleco\",\n", - " \"communes\": {\n", - " \"09201\": {\n", - " \"id\": \"09201\",\n", - " \"name\": \"Angol\"\n", - " },\n", - " \"09202\": {\n", - " \"id\": \"09202\",\n", - " \"name\": \"Collipulli\"\n", - " },\n", - " \"09203\": {\n", - " \"id\": \"09203\",\n", - " \"name\": \"Curacautín\"\n", - " },\n", - " \"09204\": {\n", - " \"id\": \"09204\",\n", - " \"name\": \"Ercilla\"\n", - " },\n", - " \"09205\": {\n", - " \"id\": \"09205\",\n", - " \"name\": \"Lonquimay\"\n", - " },\n", - " \"09206\": {\n", - " \"id\": \"09206\",\n", - " \"name\": \"Los Sauces\"\n", - " },\n", - " \"09207\": {\n", - " \"id\": \"09207\",\n", - " \"name\": \"Lumaco\"\n", - " },\n", - " \"09208\": {\n", - " \"id\": \"09208\",\n", - " \"name\": \"Purén\"\n", - " },\n", - " \"09209\": {\n", - " \"id\": \"09209\",\n", - " \"name\": \"Renaico\"\n", - " },\n", - " \"09210\": {\n", - " \"id\": \"09210\",\n", - " \"name\": \"Traiguén\"\n", - " },\n", - " \"09211\": {\n", - " \"id\": \"09211\",\n", - " \"name\": \"Victoria\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"10\": {\n", - " \"id\": \"10\",\n", - " \"name\": \"Región de Los Lagos\",\n", - " \"short_name\": \"Los Lagos\",\n", - " \"abbreviation\": \"LAGOS\",\n", - " \"iso_code\": \"CL-LL\",\n", - " \"provinces\": {\n", - " \"101\": {\n", - " \"id\": \"101\",\n", - " \"name\": \"Llanquihue\",\n", - " \"communes\": {\n", - " \"10101\": {\n", - " \"id\": \"10101\",\n", - " \"name\": \"Puerto Montt\"\n", - " },\n", - " \"10102\": {\n", - " \"id\": \"10102\",\n", - " \"name\": \"Calbuco\"\n", - " },\n", - " \"10103\": {\n", - " \"id\": \"10103\",\n", - " \"name\": \"Cochamó\"\n", - " },\n", - " \"10104\": {\n", - " \"id\": \"10104\",\n", - " \"name\": \"Fresia\"\n", - " },\n", - " \"10105\": {\n", - " \"id\": \"10105\",\n", - " \"name\": \"Frutillar\"\n", - " },\n", - " \"10106\": {\n", - " \"id\": \"10106\",\n", - " \"name\": \"Los Muermos\"\n", - " },\n", - " \"10107\": {\n", - " \"id\": \"10107\",\n", - " \"name\": \"Llanquihue\"\n", - " },\n", - " \"10108\": {\n", - " \"id\": \"10108\",\n", - " \"name\": \"Maullín\"\n", - " },\n", - " \"10109\": {\n", - " \"id\": \"10109\",\n", - " \"name\": \"Puerto Varas\"\n", - " }\n", - " }\n", - " },\n", - " \"102\": {\n", - " \"id\": \"102\",\n", - " \"name\": \"Chiloé\",\n", - " \"communes\": {\n", - " \"10201\": {\n", - " \"id\": \"10201\",\n", - " \"name\": \"Castro\"\n", - " },\n", - " \"10202\": {\n", - " \"id\": \"10202\",\n", - " \"name\": \"Ancud\"\n", - " },\n", - " \"10203\": {\n", - " \"id\": \"10203\",\n", - " \"name\": \"Chonchi\"\n", - " },\n", - " \"10204\": {\n", - " \"id\": \"10204\",\n", - " \"name\": \"Curaco de Vélez\"\n", - " },\n", - " \"10205\": {\n", - " \"id\": \"10205\",\n", - " \"name\": \"Dalcahue\"\n", - " },\n", - " \"10206\": {\n", - " \"id\": \"10206\",\n", - " \"name\": \"Puqueldón\"\n", - " },\n", - " \"10207\": {\n", - " \"id\": \"10207\",\n", - " \"name\": \"Queilén\"\n", - " },\n", - " \"10208\": {\n", - " \"id\": \"10208\",\n", - " \"name\": \"Quellón\"\n", - " },\n", - " \"10209\": {\n", - " \"id\": \"10209\",\n", - " \"name\": \"Quemchi\"\n", - " },\n", - " \"10210\": {\n", - " \"id\": \"10210\",\n", - " \"name\": \"Quinchao\"\n", - " }\n", - " }\n", - " },\n", - " \"103\": {\n", - " \"id\": \"103\",\n", - " \"name\": \"Osorno\",\n", - " \"communes\": {\n", - " \"10301\": {\n", - " \"id\": \"10301\",\n", - " \"name\": \"Osorno\"\n", - " },\n", - " \"10302\": {\n", - " \"id\": \"10302\",\n", - " \"name\": \"Puerto Octay\"\n", - " },\n", - " \"10303\": {\n", - " \"id\": \"10303\",\n", - " \"name\": \"Purranque\"\n", - " },\n", - " \"10304\": {\n", - " \"id\": \"10304\",\n", - " \"name\": \"Puyehue\"\n", - " },\n", - " \"10305\": {\n", - " \"id\": \"10305\",\n", - " \"name\": \"Río Negro\"\n", - " },\n", - " \"10306\": {\n", - " \"id\": \"10306\",\n", - " \"name\": \"San Juan de la Costa\"\n", - " },\n", - " \"10307\": {\n", - " \"id\": \"10307\",\n", - " \"name\": \"San Pablo\"\n", - " }\n", - " }\n", - " },\n", - " \"104\": {\n", - " \"id\": \"104\",\n", - " \"name\": \"Palena\",\n", - " \"communes\": {\n", - " \"10401\": {\n", - " \"id\": \"10401\",\n", - " \"name\": \"Chaitén\"\n", - " },\n", - " \"10402\": {\n", - " \"id\": \"10402\",\n", - " \"name\": \"Futaleufú\"\n", - " },\n", - " \"10403\": {\n", - " \"id\": \"10403\",\n", - " \"name\": \"Hualaihué\"\n", - " },\n", - " \"10404\": {\n", - " \"id\": \"10404\",\n", - " \"name\": \"Palena\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"11\": {\n", - " \"id\": \"11\",\n", - " \"name\": \"Región Aysén del General Carlos Ibáñez del Campo\",\n", - " \"short_name\": \"Aysén del General Carlos Ibáñez del Campo\",\n", - " \"abbreviation\": \"AYSEN\",\n", - " \"iso_code\": \"CL-AI\",\n", - " \"provinces\": {\n", - " \"111\": {\n", - " \"id\": \"111\",\n", - " \"name\": \"Coyhaique\",\n", - " \"communes\": {\n", - " \"11101\": {\n", - " \"id\": \"11101\",\n", - " \"name\": \"Coyhaique\"\n", - " },\n", - " \"11102\": {\n", - " \"id\": \"11102\",\n", - " \"name\": \"Lago Verde\"\n", - " }\n", - " }\n", - " },\n", - " \"112\": {\n", - " \"id\": \"112\",\n", - " \"name\": \"Aysén\",\n", - " \"communes\": {\n", - " \"11201\": {\n", - " \"id\": \"11201\",\n", - " \"name\": \"Aysén\"\n", - " },\n", - " \"11202\": {\n", - " \"id\": \"11202\",\n", - " \"name\": \"Cisnes\"\n", - " },\n", - " \"11203\": {\n", - " \"id\": \"11203\",\n", - " \"name\": \"Guaitecas\"\n", - " }\n", - " }\n", - " },\n", - " \"113\": {\n", - " \"id\": \"113\",\n", - " \"name\": \"Capitán Prat\",\n", - " \"communes\": {\n", - " \"11301\": {\n", - " \"id\": \"11301\",\n", - " \"name\": \"Cochrane\"\n", - " },\n", - " \"11302\": {\n", - " \"id\": \"11302\",\n", - " \"name\": \"O'Higgins\"\n", - " },\n", - " \"11303\": {\n", - " \"id\": \"11303\",\n", - " \"name\": \"Tortel\"\n", - " }\n", - " }\n", - " },\n", - " \"114\": {\n", - " \"id\": \"114\",\n", - " \"name\": \"General Carrera\",\n", - " \"communes\": {\n", - " \"11401\": {\n", - " \"id\": \"11401\",\n", - " \"name\": \"Chile Chico\"\n", - " },\n", - " \"11402\": {\n", - " \"id\": \"11402\",\n", - " \"name\": \"Río Ibáñez\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"12\": {\n", - " \"id\": \"12\",\n", - " \"name\": \"Región de Magallanes y de la Antártica Chilena\",\n", - " \"short_name\": \"Magallanes y de la Antártica Chilena\",\n", - " \"abbreviation\": \"MAG\",\n", - " \"iso_code\": \"CL-MA\",\n", - " \"provinces\": {\n", - " \"121\": {\n", - " \"id\": \"121\",\n", - " \"name\": \"Magallanes\",\n", - " \"communes\": {\n", - " \"12101\": {\n", - " \"id\": \"12101\",\n", - " \"name\": \"Punta Arenas\"\n", - " },\n", - " \"12102\": {\n", - " \"id\": \"12102\",\n", - " \"name\": \"Laguna Blanca\"\n", - " },\n", - " \"12103\": {\n", - " \"id\": \"12103\",\n", - " \"name\": \"Río Verde\"\n", - " },\n", - " \"12104\": {\n", - " \"id\": \"12104\",\n", - " \"name\": \"San Gregorio\"\n", - " }\n", - " }\n", - " },\n", - " \"122\": {\n", - " \"id\": \"122\",\n", - " \"name\": \"Antártica Chilena\",\n", - " \"communes\": {\n", - " \"12201\": {\n", - " \"id\": \"12201\",\n", - " \"name\": \"Cabo de Hornos\"\n", - " },\n", - " \"12202\": {\n", - " \"id\": \"12202\",\n", - " \"name\": \"Antártica\"\n", - " }\n", - " }\n", - " },\n", - " \"123\": {\n", - " \"id\": \"123\",\n", - " \"name\": \"Tierra del Fuego\",\n", - " \"communes\": {\n", - " \"12301\": {\n", - " \"id\": \"12301\",\n", - " \"name\": \"Porvenir\"\n", - " },\n", - " \"12302\": {\n", - " \"id\": \"12302\",\n", - " \"name\": \"Primavera\"\n", - " },\n", - " \"12303\": {\n", - " \"id\": \"12303\",\n", - " \"name\": \"Timaukel\"\n", - " }\n", - " }\n", - " },\n", - " \"124\": {\n", - " \"id\": \"124\",\n", - " \"name\": \"Última Esperanza\",\n", - " \"communes\": {\n", - " \"12401\": {\n", - " \"id\": \"12401\",\n", - " \"name\": \"Natales\"\n", - " },\n", - " \"12402\": {\n", - " \"id\": \"12402\",\n", - " \"name\": \"Torres del Paine\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"13\": {\n", - " \"id\": \"13\",\n", - " \"name\": \"Región Metropolitana de Santiago\",\n", - " \"short_name\": \"Metropolitana de Santiago\",\n", - " \"abbreviation\": \"RM\",\n", - " \"iso_code\": \"CL-RM\",\n", - " \"provinces\": {\n", - " \"131\": {\n", - " \"id\": \"131\",\n", - " \"name\": \"Santiago\",\n", - " \"communes\": {\n", - " \"13101\": {\n", - " \"id\": \"13101\",\n", - " \"name\": \"Santiago\"\n", - " },\n", - " \"13102\": {\n", - " \"id\": \"13102\",\n", - " \"name\": \"Cerrillos\"\n", - " },\n", - " \"13103\": {\n", - " \"id\": \"13103\",\n", - " \"name\": \"Cerro Navia\"\n", - " },\n", - " \"13104\": {\n", - " \"id\": \"13104\",\n", - " \"name\": \"Conchalí\"\n", - " },\n", - " \"13105\": {\n", - " \"id\": \"13105\",\n", - " \"name\": \"El Bosque\"\n", - " },\n", - " \"13106\": {\n", - " \"id\": \"13106\",\n", - " \"name\": \"Estación Central\"\n", - " },\n", - " \"13107\": {\n", - " \"id\": \"13107\",\n", - " \"name\": \"Huechuraba\"\n", - " },\n", - " \"13108\": {\n", - " \"id\": \"13108\",\n", - " \"name\": \"Independencia\"\n", - " },\n", - " \"13109\": {\n", - " \"id\": \"13109\",\n", - " \"name\": \"La Cisterna\"\n", - " },\n", - " \"13110\": {\n", - " \"id\": \"13110\",\n", - " \"name\": \"La Florida\"\n", - " },\n", - " \"13111\": {\n", - " \"id\": \"13111\",\n", - " \"name\": \"La Granja\"\n", - " },\n", - " \"13112\": {\n", - " \"id\": \"13112\",\n", - " \"name\": \"La Pintana\"\n", - " },\n", - " \"13113\": {\n", - " \"id\": \"13113\",\n", - " \"name\": \"La Reina\"\n", - " },\n", - " \"13114\": {\n", - " \"id\": \"13114\",\n", - " \"name\": \"Las Condes\"\n", - " },\n", - " \"13115\": {\n", - " \"id\": \"13115\",\n", - " \"name\": \"Lo Barnechea\"\n", - " },\n", - " \"13116\": {\n", - " \"id\": \"13116\",\n", - " \"name\": \"Lo Espejo\"\n", - " },\n", - " \"13117\": {\n", - " \"id\": \"13117\",\n", - " \"name\": \"Lo Prado\"\n", - " },\n", - " \"13118\": {\n", - " \"id\": \"13118\",\n", - " \"name\": \"Macul\"\n", - " },\n", - " \"13119\": {\n", - " \"id\": \"13119\",\n", - " \"name\": \"Maipú\"\n", - " },\n", - " \"13120\": {\n", - " \"id\": \"13120\",\n", - " \"name\": \"Ñuñoa\"\n", - " },\n", - " \"13121\": {\n", - " \"id\": \"13121\",\n", - " \"name\": \"Pedro Aguirre Cerda\"\n", - " },\n", - " \"13122\": {\n", - " \"id\": \"13122\",\n", - " \"name\": \"Peñalolén\"\n", - " },\n", - " \"13123\": {\n", - " \"id\": \"13123\",\n", - " \"name\": \"Providencia\"\n", - " },\n", - " \"13124\": {\n", - " \"id\": \"13124\",\n", - " \"name\": \"Pudahuel\"\n", - " },\n", - " \"13125\": {\n", - " \"id\": \"13125\",\n", - " \"name\": \"Quilicura\"\n", - " },\n", - " \"13126\": {\n", - " \"id\": \"13126\",\n", - " \"name\": \"Quinta Normal\"\n", - " },\n", - " \"13127\": {\n", - " \"id\": \"13127\",\n", - " \"name\": \"Recoleta\"\n", - " },\n", - " \"13128\": {\n", - " \"id\": \"13128\",\n", - " \"name\": \"Renca\"\n", - " },\n", - " \"13129\": {\n", - " \"id\": \"13129\",\n", - " \"name\": \"San Joaquín\"\n", - " },\n", - " \"13130\": {\n", - " \"id\": \"13130\",\n", - " \"name\": \"San Miguel\"\n", - " },\n", - " \"13131\": {\n", - " \"id\": \"13131\",\n", - " \"name\": \"San Ramón\"\n", - " },\n", - " \"13132\": {\n", - " \"id\": \"13132\",\n", - " \"name\": \"Vitacura\"\n", - " }\n", - " }\n", - " },\n", - " \"132\": {\n", - " \"id\": \"132\",\n", - " \"name\": \"Cordillera\",\n", - " \"communes\": {\n", - " \"13201\": {\n", - " \"id\": \"13201\",\n", - " \"name\": \"Puente Alto\"\n", - " },\n", - " \"13202\": {\n", - " \"id\": \"13202\",\n", - " \"name\": \"Pirque\"\n", - " },\n", - " \"13203\": {\n", - " \"id\": \"13203\",\n", - " \"name\": \"San José de Maipo\"\n", - " }\n", - " }\n", - " },\n", - " \"133\": {\n", - " \"id\": \"133\",\n", - " \"name\": \"Chacabuco\",\n", - " \"communes\": {\n", - " \"13301\": {\n", - " \"id\": \"13301\",\n", - " \"name\": \"Colina\"\n", - " },\n", - " \"13302\": {\n", - " \"id\": \"13302\",\n", - " \"name\": \"Lampa\"\n", - " },\n", - " \"13303\": {\n", - " \"id\": \"13303\",\n", - " \"name\": \"Tiltil\"\n", - " }\n", - " }\n", - " },\n", - " \"134\": {\n", - " \"id\": \"134\",\n", - " \"name\": \"Maipo\",\n", - " \"communes\": {\n", - " \"13401\": {\n", - " \"id\": \"13401\",\n", - " \"name\": \"San Bernardo\"\n", - " },\n", - " \"13402\": {\n", - " \"id\": \"13402\",\n", - " \"name\": \"Buin\"\n", - " },\n", - " \"13403\": {\n", - " \"id\": \"13403\",\n", - " \"name\": \"Calera de Tango\"\n", - " },\n", - " \"13404\": {\n", - " \"id\": \"13404\",\n", - " \"name\": \"Paine\"\n", - " }\n", - " }\n", - " },\n", - " \"135\": {\n", - " \"id\": \"135\",\n", - " \"name\": \"Melipilla\",\n", - " \"communes\": {\n", - " \"13501\": {\n", - " \"id\": \"13501\",\n", - " \"name\": \"Melipilla\"\n", - " },\n", - " \"13502\": {\n", - " \"id\": \"13502\",\n", - " \"name\": \"Alhué\"\n", - " },\n", - " \"13503\": {\n", - " \"id\": \"13503\",\n", - " \"name\": \"Curacaví\"\n", - " },\n", - " \"13504\": {\n", - " \"id\": \"13504\",\n", - " \"name\": \"María Pinto\"\n", - " },\n", - " \"13505\": {\n", - " \"id\": \"13505\",\n", - " \"name\": \"San Pedro\"\n", - " }\n", - " }\n", - " },\n", - " \"136\": {\n", - " \"id\": \"136\",\n", - " \"name\": \"Talagante\",\n", - " \"communes\": {\n", - " \"13601\": {\n", - " \"id\": \"13601\",\n", - " \"name\": \"Talagante\"\n", - " },\n", - " \"13602\": {\n", - " \"id\": \"13602\",\n", - " \"name\": \"El Monte\"\n", - " },\n", - " \"13603\": {\n", - " \"id\": \"13603\",\n", - " \"name\": \"Isla de Maipo\"\n", - " },\n", - " \"13604\": {\n", - " \"id\": \"13604\",\n", - " \"name\": \"Padre Hurtado\"\n", - " },\n", - " \"13605\": {\n", - " \"id\": \"13605\",\n", - " \"name\": \"Peñaflor\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"14\": {\n", - " \"id\": \"14\",\n", - " \"name\": \"Región de Los Ríos\",\n", - " \"short_name\": \"Los Ríos\",\n", - " \"abbreviation\": \"RIOS\",\n", - " \"iso_code\": \"CL-LR\",\n", - " \"provinces\": {\n", - " \"141\": {\n", - " \"id\": \"141\",\n", - " \"name\": \"Valdivia\",\n", - " \"communes\": {\n", - " \"14101\": {\n", - " \"id\": \"14101\",\n", - " \"name\": \"Valdivia\"\n", - " },\n", - " \"14102\": {\n", - " \"id\": \"14102\",\n", - " \"name\": \"Corral\"\n", - " },\n", - " \"14103\": {\n", - " \"id\": \"14103\",\n", - " \"name\": \"Lanco\"\n", - " },\n", - " \"14104\": {\n", - " \"id\": \"14104\",\n", - " \"name\": \"Los Lagos\"\n", - " },\n", - " \"14105\": {\n", - " \"id\": \"14105\",\n", - " \"name\": \"Máfil\"\n", - " },\n", - " \"14106\": {\n", - " \"id\": \"14106\",\n", - " \"name\": \"Mariquina\"\n", - " },\n", - " \"14107\": {\n", - " \"id\": \"14107\",\n", - " \"name\": \"Paillaco\"\n", - " },\n", - " \"14108\": {\n", - " \"id\": \"14108\",\n", - " \"name\": \"Panguipulli\"\n", - " }\n", - " }\n", - " },\n", - " \"142\": {\n", - " \"id\": \"142\",\n", - " \"name\": \"Ranco\",\n", - " \"communes\": {\n", - " \"14201\": {\n", - " \"id\": \"14201\",\n", - " \"name\": \"La Unión\"\n", - " },\n", - " \"14202\": {\n", - " \"id\": \"14202\",\n", - " \"name\": \"Futrono\"\n", - " },\n", - " \"14203\": {\n", - " \"id\": \"14203\",\n", - " \"name\": \"Lago Ranco\"\n", - " },\n", - " \"14204\": {\n", - " \"id\": \"14204\",\n", - " \"name\": \"Río Bueno\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"15\": {\n", - " \"id\": \"15\",\n", - " \"name\": \"Región de Arica y Parinacota\",\n", - " \"short_name\": \"Arica y Parinacota\",\n", - " \"abbreviation\": \"AyP\",\n", - " \"iso_code\": \"CL-AP\",\n", - " \"provinces\": {\n", - " \"151\": {\n", - " \"id\": \"151\",\n", - " \"name\": \"Arica\",\n", - " \"communes\": {\n", - " \"15101\": {\n", - " \"id\": \"15101\",\n", - " \"name\": \"Arica\"\n", - " },\n", - " \"15102\": {\n", - " \"id\": \"15102\",\n", - " \"name\": \"Camarones\"\n", - " }\n", - " }\n", - " },\n", - " \"152\": {\n", - " \"id\": \"152\",\n", - " \"name\": \"Parinacota\",\n", - " \"communes\": {\n", - " \"15201\": {\n", - " \"id\": \"15201\",\n", - " \"name\": \"Putre\"\n", - " },\n", - " \"15202\": {\n", - " \"id\": \"15202\",\n", - " \"name\": \"General Lagos\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " },\n", - " \"16\": {\n", - " \"id\": \"16\",\n", - " \"name\": \"Región de Ñuble\",\n", - " \"short_name\": \"Ñuble\",\n", - " \"abbreviation\": \"NUBLE\",\n", - " \"iso_code\": \"CL-NB\",\n", - " \"provinces\": {\n", - " \"161\": {\n", - " \"id\": \"161\",\n", - " \"name\": \"Diguillín\",\n", - " \"communes\": {\n", - " \"16101\": {\n", - " \"id\": \"16101\",\n", - " \"name\": \"Chillán\"\n", - " },\n", - " \"16102\": {\n", - " \"id\": \"16102\",\n", - " \"name\": \"Bulnes\"\n", - " },\n", - " \"16103\": {\n", - " \"id\": \"16103\",\n", - " \"name\": \"Chillán Viejo\"\n", - " },\n", - " \"16104\": {\n", - " \"id\": \"16104\",\n", - " \"name\": \"El Carmen\"\n", - " },\n", - " \"16105\": {\n", - " \"id\": \"16105\",\n", - " \"name\": \"Pemuco\"\n", - " },\n", - " \"16106\": {\n", - " \"id\": \"16106\",\n", - " \"name\": \"Pinto\"\n", - " },\n", - " \"16107\": {\n", - " \"id\": \"16107\",\n", - " \"name\": \"Quillón\"\n", - " },\n", - " \"16108\": {\n", - " \"id\": \"16108\",\n", - " \"name\": \"San Ignacio\"\n", - " },\n", - " \"16109\": {\n", - " \"id\": \"16109\",\n", - " \"name\": \"Yungay\"\n", - " }\n", - " }\n", - " },\n", - " \"162\": {\n", - " \"id\": \"162\",\n", - " \"name\": \"Itata\",\n", - " \"communes\": {\n", - " \"16201\": {\n", - " \"id\": \"16201\",\n", - " \"name\": \"Quirihue\"\n", - " },\n", - " \"16202\": {\n", - " \"id\": \"16202\",\n", - " \"name\": \"Cobquecura\"\n", - " },\n", - " \"16203\": {\n", - " \"id\": \"16203\",\n", - " \"name\": \"Coelemu\"\n", - " },\n", - " \"16204\": {\n", - " \"id\": \"16204\",\n", - " \"name\": \"Ninhue\"\n", - " },\n", - " \"16205\": {\n", - " \"id\": \"16205\",\n", - " \"name\": \"Portezuelo\"\n", - " },\n", - " \"16206\": {\n", - " \"id\": \"16206\",\n", - " \"name\": \"Ranquil\"\n", - " },\n", - " \"16207\": {\n", - " \"id\": \"16207\",\n", - " \"name\": \"Treguaco\"\n", - " }\n", - " }\n", - " },\n", - " \"163\": {\n", - " \"id\": \"163\",\n", - " \"name\": \"Punilla\",\n", - " \"communes\": {\n", - " \"16301\": {\n", - " \"id\": \"16301\",\n", - " \"name\": \"San Carlos\"\n", - " },\n", - " \"16302\": {\n", - " \"id\": \"16302\",\n", - " \"name\": \"Coihueco\"\n", - " },\n", - " \"16303\": {\n", - " \"id\": \"16303\",\n", - " \"name\": \"Ñiquén\"\n", - " },\n", - " \"16304\": {\n", - " \"id\": \"16304\",\n", - " \"name\": \"San Fabián\"\n", - " },\n", - " \"16305\": {\n", - " \"id\": \"16305\",\n", - " \"name\": \"San Nicolás\"\n", - " }\n", - " }\n", - " }\n", - " }\n", - " }\n", - " }\n", - "}\n" - ] - } - ], + "outputs": [], "source": [ "# Agrupar comunas por provincia_id y construir el diccionario de comunas\n", "communes_grouped = communes_df.groupby(\"province_id\")\n", @@ -3690,15 +243,16 @@ ")\n", "\n", "# Construir el diccionario final para el país, asumiendo que el país es Chile\n", - "cl_country = {\n", + "cl_country_object = {\n", " \"country\": \"Chile\",\n", + " \"countryCode\": \"CL\",\n", " \"regions\": {\n", " row[\"id\"]: {\n", " \"id\": row[\"id\"],\n", " \"name\": row[\"name\"],\n", - " \"short_name\": row[\"short_name\"],\n", + " \"shortName\": row[\"short_name\"],\n", " \"abbreviation\": row[\"abbreviation\"],\n", - " \"iso_code\": row[\"iso_code\"],\n", + " \"isoCode\": row[\"iso_code\"],\n", " \"provinces\": row[\"provinces\"],\n", " }\n", " for _, row in regions_df.iterrows()\n", @@ -3706,14 +260,14 @@ "}\n", "\n", "# Convertir el diccionario a JSON\n", - "json_data = json.dumps(cl_country, ensure_ascii=False, indent=2)\n", + "json_object = json.dumps(cl_country_object, ensure_ascii=False, indent=2)\n", "\n", "# Guardar JSON en un archivo\n", - "with open(\"json/data.json\", \"w\", encoding=\"utf-8\") as f:\n", - " f.write(json_data)\n", + "with open(\"json/object.json\", \"w\", encoding=\"utf-8\") as f:\n", + " f.write(json_object)\n", "\n", "# Imprimir el JSON para verificar\n", - "print(json_data)" + "print(json_object)" ] }, { @@ -3725,558 +279,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'country': 'Chile',\n", - " 'regions': [{'id': '01',\n", - " 'name': 'Región de Tarapacá',\n", - " 'short_name': 'Tarapacá',\n", - " 'abbreviation': 'TPCA',\n", - " 'iso_code': 'CL-TA',\n", - " 'provinces': [{'id': '011',\n", - " 'name': 'Iquique',\n", - " 'communes': [{'id': '01101', 'name': 'Iquique'},\n", - " {'id': '01107', 'name': 'Alto Hospicio'}]},\n", - " {'id': '014',\n", - " 'name': 'Tamarugal',\n", - " 'communes': [{'id': '01401', 'name': 'Pozo Almonte'},\n", - " {'id': '01402', 'name': 'Camiña'},\n", - " {'id': '01403', 'name': 'Colchane'},\n", - " {'id': '01404', 'name': 'Huara'},\n", - " {'id': '01405', 'name': 'Pica'}]}]},\n", - " {'id': '02',\n", - " 'name': 'Región de Antofagasta',\n", - " 'short_name': 'Antofagasta',\n", - " 'abbreviation': 'ANTOF',\n", - " 'iso_code': 'CL-AN',\n", - " 'provinces': [{'id': '021',\n", - " 'name': 'Antofagasta',\n", - " 'communes': [{'id': '02101', 'name': 'Antofagasta'},\n", - " {'id': '02102', 'name': 'Mejillones'},\n", - " {'id': '02103', 'name': 'Sierra Gorda'},\n", - " {'id': '02104', 'name': 'Taltal'}]},\n", - " {'id': '022',\n", - " 'name': 'El Loa',\n", - " 'communes': [{'id': '02201', 'name': 'Calama'},\n", - " {'id': '02202', 'name': 'Ollagüe'},\n", - " {'id': '02203', 'name': 'San Pedro de Atacama'}]},\n", - " {'id': '023',\n", - " 'name': 'Tocopilla',\n", - " 'communes': [{'id': '02301', 'name': 'Tocopilla'},\n", - " {'id': '02302', 'name': 'María Elena'}]}]},\n", - " {'id': '03',\n", - " 'name': 'Región de Atacama',\n", - " 'short_name': 'Atacama',\n", - " 'abbreviation': 'ATCMA',\n", - " 'iso_code': 'CL-AT',\n", - " 'provinces': [{'id': '031',\n", - " 'name': 'Copiapó',\n", - " 'communes': [{'id': '03101', 'name': 'Copiapó'},\n", - " {'id': '03102', 'name': 'Caldera'},\n", - " {'id': '03103', 'name': 'Tierra Amarilla'}]},\n", - " {'id': '032',\n", - " 'name': 'Chañaral',\n", - " 'communes': [{'id': '03201', 'name': 'Chañaral'},\n", - " {'id': '03202', 'name': 'Diego de Almagro'}]},\n", - " {'id': '033',\n", - " 'name': 'Huasco',\n", - " 'communes': [{'id': '03301', 'name': 'Vallenar'},\n", - " {'id': '03302', 'name': 'Alto del Carmen'},\n", - " {'id': '03303', 'name': 'Freirina'},\n", - " {'id': '03304', 'name': 'Huasco'}]}]},\n", - " {'id': '04',\n", - " 'name': 'Región de Coquimbo',\n", - " 'short_name': 'Coquimbo',\n", - " 'abbreviation': 'COQ',\n", - " 'iso_code': 'CL-CO',\n", - " 'provinces': [{'id': '041',\n", - " 'name': 'Elqui',\n", - " 'communes': [{'id': '04101', 'name': 'La Serena'},\n", - " {'id': '04102', 'name': 'Coquimbo'},\n", - " {'id': '04103', 'name': 'Andacollo'},\n", - " {'id': '04104', 'name': 'La Higuera'},\n", - " {'id': '04105', 'name': 'Paiguano'},\n", - " {'id': '04106', 'name': 'Vicuña'}]},\n", - " {'id': '042',\n", - " 'name': 'Choapa',\n", - " 'communes': [{'id': '04201', 'name': 'Illapel'},\n", - " {'id': '04202', 'name': 'Canela'},\n", - " {'id': '04203', 'name': 'Los Vilos'},\n", - " {'id': '04204', 'name': 'Salamanca'}]},\n", - " {'id': '043',\n", - " 'name': 'Limarí',\n", - " 'communes': [{'id': '04301', 'name': 'Ovalle'},\n", - " {'id': '04302', 'name': 'Combarbalá'},\n", - " {'id': '04303', 'name': 'Monte Patria'},\n", - " {'id': '04304', 'name': 'Punitaqui'},\n", - " {'id': '04305', 'name': 'Río Hurtado'}]}]},\n", - " {'id': '05',\n", - " 'name': 'Región de Valparaíso',\n", - " 'short_name': 'Valparaíso',\n", - " 'abbreviation': 'VALPO',\n", - " 'iso_code': 'CL-VS',\n", - " 'provinces': [{'id': '051',\n", - " 'name': 'Valparaíso',\n", - " 'communes': [{'id': '05101', 'name': 'Valparaíso'},\n", - " {'id': '05102', 'name': 'Casablanca'},\n", - " {'id': '05103', 'name': 'Concón'},\n", - " {'id': '05104', 'name': 'Juan Fernández'},\n", - " {'id': '05105', 'name': 'Puchuncaví'},\n", - " {'id': '05107', 'name': 'Quintero'},\n", - " {'id': '05109', 'name': 'Viña del Mar'}]},\n", - " {'id': '052',\n", - " 'name': 'Isla de Pascua',\n", - " 'communes': [{'id': '05201', 'name': 'Isla de Pascua'}]},\n", - " {'id': '053',\n", - " 'name': 'Los Andes',\n", - " 'communes': [{'id': '05301', 'name': 'Los Andes'},\n", - " {'id': '05302', 'name': 'Calle Larga'},\n", - " {'id': '05303', 'name': 'Rinconada'},\n", - " {'id': '05304', 'name': 'San Esteban'}]},\n", - " {'id': '054',\n", - " 'name': 'Petorca',\n", - " 'communes': [{'id': '05401', 'name': 'La Ligua'},\n", - " {'id': '05402', 'name': 'Cabildo'},\n", - " {'id': '05403', 'name': 'Papudo'},\n", - " {'id': '05404', 'name': 'Petorca'},\n", - " {'id': '05405', 'name': 'Zapallar'}]},\n", - " {'id': '055',\n", - " 'name': 'Quillota',\n", - " 'communes': [{'id': '05501', 'name': 'Quillota'},\n", - " {'id': '05502', 'name': 'Calera'},\n", - " {'id': '05503', 'name': 'Hijuelas'},\n", - " {'id': '05504', 'name': 'La Cruz'},\n", - " {'id': '05506', 'name': 'Nogales'}]},\n", - " {'id': '056',\n", - " 'name': 'San Antonio',\n", - " 'communes': [{'id': '05601', 'name': 'San Antonio'},\n", - " {'id': '05602', 'name': 'Algarrobo'},\n", - " {'id': '05603', 'name': 'Cartagena'},\n", - " {'id': '05604', 'name': 'El Quisco'},\n", - " {'id': '05605', 'name': 'El Tabo'},\n", - " {'id': '05606', 'name': 'Santo Domingo'}]},\n", - " {'id': '057',\n", - " 'name': 'San Felipe de Aconcagua',\n", - " 'communes': [{'id': '05701', 'name': 'San Felipe'},\n", - " {'id': '05702', 'name': 'Catemu'},\n", - " {'id': '05703', 'name': 'Llaillay'},\n", - " {'id': '05704', 'name': 'Panquehue'},\n", - " {'id': '05705', 'name': 'Putaendo'},\n", - " {'id': '05706', 'name': 'Santa María'}]},\n", - " {'id': '058',\n", - " 'name': 'Marga Marga',\n", - " 'communes': [{'id': '05801', 'name': 'Quilpué'},\n", - " {'id': '05802', 'name': 'Limache'},\n", - " {'id': '05803', 'name': 'Olmué'},\n", - " {'id': '05804', 'name': 'Villa Alemana'}]}]},\n", - " {'id': '06',\n", - " 'name': \"Región del Libertador General Bernardo O'Higgins\",\n", - " 'short_name': \"Libertador General Bernardo O'Higgins\",\n", - " 'abbreviation': 'LGBO',\n", - " 'iso_code': 'CL-LI',\n", - " 'provinces': [{'id': '061',\n", - " 'name': 'Cachapoal',\n", - " 'communes': [{'id': '06101', 'name': 'Rancagua'},\n", - " {'id': '06102', 'name': 'Codegua'},\n", - " {'id': '06103', 'name': 'Coinco'},\n", - " {'id': '06104', 'name': 'Coltauco'},\n", - " {'id': '06105', 'name': 'Doñihue'},\n", - " {'id': '06106', 'name': 'Graneros'},\n", - " {'id': '06107', 'name': 'Las Cabras'},\n", - " {'id': '06108', 'name': 'Machalí'},\n", - " {'id': '06109', 'name': 'Malloa'},\n", - " {'id': '06110', 'name': 'Mostazal'},\n", - " {'id': '06111', 'name': 'Olivar'},\n", - " {'id': '06112', 'name': 'Peumo'},\n", - " {'id': '06113', 'name': 'Pichidegua'},\n", - " {'id': '06114', 'name': 'Quinta de Tilcoco'},\n", - " {'id': '06115', 'name': 'Rengo'},\n", - " {'id': '06116', 'name': 'Requínoa'},\n", - " {'id': '06117', 'name': 'San Vicente'}]},\n", - " {'id': '062',\n", - " 'name': 'Cardenal Caro',\n", - " 'communes': [{'id': '06201', 'name': 'Pichilemu'},\n", - " {'id': '06202', 'name': 'La Estrella'},\n", - " {'id': '06203', 'name': 'Litueche'},\n", - " {'id': '06204', 'name': 'Marchihue'},\n", - " {'id': '06205', 'name': 'Navidad'},\n", - " {'id': '06206', 'name': 'Paredones'}]},\n", - " {'id': '063',\n", - " 'name': 'Colchagua',\n", - " 'communes': [{'id': '06301', 'name': 'San Fernando'},\n", - " {'id': '06302', 'name': 'Chépica'},\n", - " {'id': '06303', 'name': 'Chimbarongo'},\n", - " {'id': '06304', 'name': 'Lolol'},\n", - " {'id': '06305', 'name': 'Nancagua'},\n", - " {'id': '06306', 'name': 'Palmilla'},\n", - " {'id': '06307', 'name': 'Peralillo'},\n", - " {'id': '06308', 'name': 'Placilla'},\n", - " {'id': '06309', 'name': 'Pumanque'},\n", - " {'id': '06310', 'name': 'Santa Cruz'}]}]},\n", - " {'id': '07',\n", - " 'name': 'Región del Maule',\n", - " 'short_name': 'Maule',\n", - " 'abbreviation': 'MAULE',\n", - " 'iso_code': 'CL-ML',\n", - " 'provinces': [{'id': '071',\n", - " 'name': 'Talca',\n", - " 'communes': [{'id': '07101', 'name': 'Talca'},\n", - " {'id': '07102', 'name': 'Constitución'},\n", - " {'id': '07103', 'name': 'Curepto'},\n", - " {'id': '07104', 'name': 'Empedrado'},\n", - " {'id': '07105', 'name': 'Maule'},\n", - " {'id': '07106', 'name': 'Pelarco'},\n", - " {'id': '07107', 'name': 'Pencahue'},\n", - " {'id': '07108', 'name': 'Río Claro'},\n", - " {'id': '07109', 'name': 'San Clemente'},\n", - " {'id': '07110', 'name': 'San Rafael'}]},\n", - " {'id': '072',\n", - " 'name': 'Cauquenes',\n", - " 'communes': [{'id': '07201', 'name': 'Cauquenes'},\n", - " {'id': '07202', 'name': 'Chanco'},\n", - " {'id': '07203', 'name': 'Pelluhue'}]},\n", - " {'id': '073',\n", - " 'name': 'Curicó',\n", - " 'communes': [{'id': '07301', 'name': 'Curicó'},\n", - " {'id': '07302', 'name': 'Hualañé'},\n", - " {'id': '07303', 'name': 'Licantén'},\n", - " {'id': '07304', 'name': 'Molina'},\n", - " {'id': '07305', 'name': 'Rauco'},\n", - " {'id': '07306', 'name': 'Romeral'},\n", - " {'id': '07307', 'name': 'Sagrada Familia'},\n", - " {'id': '07308', 'name': 'Teno'},\n", - " {'id': '07309', 'name': 'Vichuquén'}]},\n", - " {'id': '074',\n", - " 'name': 'Linares',\n", - " 'communes': [{'id': '07401', 'name': 'Linares'},\n", - " {'id': '07402', 'name': 'Colbún'},\n", - " {'id': '07403', 'name': 'Longaví'},\n", - " {'id': '07404', 'name': 'Parral'},\n", - " {'id': '07405', 'name': 'Retiro'},\n", - " {'id': '07406', 'name': 'San Javier'},\n", - " {'id': '07407', 'name': 'Villa Alegre'},\n", - " {'id': '07408', 'name': 'Yerbas Buenas'}]}]},\n", - " {'id': '08',\n", - " 'name': 'Región del Biobío',\n", - " 'short_name': 'Biobío',\n", - " 'abbreviation': 'BBIO',\n", - " 'iso_code': 'CL-BI',\n", - " 'provinces': [{'id': '081',\n", - " 'name': 'Concepción',\n", - " 'communes': [{'id': '08101', 'name': 'Concepción'},\n", - " {'id': '08102', 'name': 'Coronel'},\n", - " {'id': '08103', 'name': 'Chiguayante'},\n", - " {'id': '08104', 'name': 'Florida'},\n", - " {'id': '08105', 'name': 'Hualqui'},\n", - " {'id': '08106', 'name': 'Lota'},\n", - " {'id': '08107', 'name': 'Penco'},\n", - " {'id': '08108', 'name': 'San Pedro de la Paz'},\n", - " {'id': '08109', 'name': 'Santa Juana'},\n", - " {'id': '08110', 'name': 'Talcahuano'},\n", - " {'id': '08111', 'name': 'Tomé'},\n", - " {'id': '08112', 'name': 'Hualpén'}]},\n", - " {'id': '082',\n", - " 'name': 'Arauco',\n", - " 'communes': [{'id': '08201', 'name': 'Lebu'},\n", - " {'id': '08202', 'name': 'Arauco'},\n", - " {'id': '08203', 'name': 'Cañete'},\n", - " {'id': '08204', 'name': 'Contulmo'},\n", - " {'id': '08205', 'name': 'Curanilahue'},\n", - " {'id': '08206', 'name': 'Los Alamos'},\n", - " {'id': '08207', 'name': 'Tirúa'}]},\n", - " {'id': '083',\n", - " 'name': 'Biobío',\n", - " 'communes': [{'id': '08301', 'name': 'Los Angeles'},\n", - " {'id': '08302', 'name': 'Antuco'},\n", - " {'id': '08303', 'name': 'Cabrero'},\n", - " {'id': '08304', 'name': 'Laja'},\n", - " {'id': '08305', 'name': 'Mulchén'},\n", - " {'id': '08306', 'name': 'Nacimiento'},\n", - " {'id': '08307', 'name': 'Negrete'},\n", - " {'id': '08308', 'name': 'Quilaco'},\n", - " {'id': '08309', 'name': 'Quilleco'},\n", - " {'id': '08310', 'name': 'San Rosendo'},\n", - " {'id': '08311', 'name': 'Santa Bárbara'},\n", - " {'id': '08312', 'name': 'Tucapel'},\n", - " {'id': '08313', 'name': 'Yumbel'},\n", - " {'id': '08314', 'name': 'Alto Biobío'}]}]},\n", - " {'id': '09',\n", - " 'name': 'Región de La Araucanía',\n", - " 'short_name': 'La Araucanía',\n", - " 'abbreviation': 'ARAUC',\n", - " 'iso_code': 'CL-AR',\n", - " 'provinces': [{'id': '091',\n", - " 'name': 'Cautín',\n", - " 'communes': [{'id': '09101', 'name': 'Temuco'},\n", - " {'id': '09102', 'name': 'Carahue'},\n", - " {'id': '09103', 'name': 'Cunco'},\n", - " {'id': '09104', 'name': 'Curarrehue'},\n", - " {'id': '09105', 'name': 'Freire'},\n", - " {'id': '09106', 'name': 'Galvarino'},\n", - " {'id': '09107', 'name': 'Gorbea'},\n", - " {'id': '09108', 'name': 'Lautaro'},\n", - " {'id': '09109', 'name': 'Loncoche'},\n", - " {'id': '09110', 'name': 'Melipeuco'},\n", - " {'id': '09111', 'name': 'Nueva Imperial'},\n", - " {'id': '09112', 'name': 'Padre Las Casas'},\n", - " {'id': '09113', 'name': 'Perquenco'},\n", - " {'id': '09114', 'name': 'Pitrufquén'},\n", - " {'id': '09115', 'name': 'Pucón'},\n", - " {'id': '09116', 'name': 'Saavedra'},\n", - " {'id': '09117', 'name': 'Teodoro Schmidt'},\n", - " {'id': '09118', 'name': 'Toltén'},\n", - " {'id': '09119', 'name': 'Vilcún'},\n", - " {'id': '09120', 'name': 'Villarrica'},\n", - " {'id': '09121', 'name': 'Cholchol'}]},\n", - " {'id': '092',\n", - " 'name': 'Malleco',\n", - " 'communes': [{'id': '09201', 'name': 'Angol'},\n", - " {'id': '09202', 'name': 'Collipulli'},\n", - " {'id': '09203', 'name': 'Curacautín'},\n", - " {'id': '09204', 'name': 'Ercilla'},\n", - " {'id': '09205', 'name': 'Lonquimay'},\n", - " {'id': '09206', 'name': 'Los Sauces'},\n", - " {'id': '09207', 'name': 'Lumaco'},\n", - " {'id': '09208', 'name': 'Purén'},\n", - " {'id': '09209', 'name': 'Renaico'},\n", - " {'id': '09210', 'name': 'Traiguén'},\n", - " {'id': '09211', 'name': 'Victoria'}]}]},\n", - " {'id': '10',\n", - " 'name': 'Región de Los Lagos',\n", - " 'short_name': 'Los Lagos',\n", - " 'abbreviation': 'LAGOS',\n", - " 'iso_code': 'CL-LL',\n", - " 'provinces': [{'id': '101',\n", - " 'name': 'Llanquihue',\n", - " 'communes': [{'id': '10101', 'name': 'Puerto Montt'},\n", - " {'id': '10102', 'name': 'Calbuco'},\n", - " {'id': '10103', 'name': 'Cochamó'},\n", - " {'id': '10104', 'name': 'Fresia'},\n", - " {'id': '10105', 'name': 'Frutillar'},\n", - " {'id': '10106', 'name': 'Los Muermos'},\n", - " {'id': '10107', 'name': 'Llanquihue'},\n", - " {'id': '10108', 'name': 'Maullín'},\n", - " {'id': '10109', 'name': 'Puerto Varas'}]},\n", - " {'id': '102',\n", - " 'name': 'Chiloé',\n", - " 'communes': [{'id': '10201', 'name': 'Castro'},\n", - " {'id': '10202', 'name': 'Ancud'},\n", - " {'id': '10203', 'name': 'Chonchi'},\n", - " {'id': '10204', 'name': 'Curaco de Vélez'},\n", - " {'id': '10205', 'name': 'Dalcahue'},\n", - " {'id': '10206', 'name': 'Puqueldón'},\n", - " {'id': '10207', 'name': 'Queilén'},\n", - " {'id': '10208', 'name': 'Quellón'},\n", - " {'id': '10209', 'name': 'Quemchi'},\n", - " {'id': '10210', 'name': 'Quinchao'}]},\n", - " {'id': '103',\n", - " 'name': 'Osorno',\n", - " 'communes': [{'id': '10301', 'name': 'Osorno'},\n", - " {'id': '10302', 'name': 'Puerto Octay'},\n", - " {'id': '10303', 'name': 'Purranque'},\n", - " {'id': '10304', 'name': 'Puyehue'},\n", - " {'id': '10305', 'name': 'Río Negro'},\n", - " {'id': '10306', 'name': 'San Juan de la Costa'},\n", - " {'id': '10307', 'name': 'San Pablo'}]},\n", - " {'id': '104',\n", - " 'name': 'Palena',\n", - " 'communes': [{'id': '10401', 'name': 'Chaitén'},\n", - " {'id': '10402', 'name': 'Futaleufú'},\n", - " {'id': '10403', 'name': 'Hualaihué'},\n", - " {'id': '10404', 'name': 'Palena'}]}]},\n", - " {'id': '11',\n", - " 'name': 'Región Aysén del General Carlos Ibáñez del Campo',\n", - " 'short_name': 'Aysén del General Carlos Ibáñez del Campo',\n", - " 'abbreviation': 'AYSEN',\n", - " 'iso_code': 'CL-AI',\n", - " 'provinces': [{'id': '111',\n", - " 'name': 'Coyhaique',\n", - " 'communes': [{'id': '11101', 'name': 'Coyhaique'},\n", - " {'id': '11102', 'name': 'Lago Verde'}]},\n", - " {'id': '112',\n", - " 'name': 'Aysén',\n", - " 'communes': [{'id': '11201', 'name': 'Aysén'},\n", - " {'id': '11202', 'name': 'Cisnes'},\n", - " {'id': '11203', 'name': 'Guaitecas'}]},\n", - " {'id': '113',\n", - " 'name': 'Capitán Prat',\n", - " 'communes': [{'id': '11301', 'name': 'Cochrane'},\n", - " {'id': '11302', 'name': \"O'Higgins\"},\n", - " {'id': '11303', 'name': 'Tortel'}]},\n", - " {'id': '114',\n", - " 'name': 'General Carrera',\n", - " 'communes': [{'id': '11401', 'name': 'Chile Chico'},\n", - " {'id': '11402', 'name': 'Río Ibáñez'}]}]},\n", - " {'id': '12',\n", - " 'name': 'Región de Magallanes y de la Antártica Chilena',\n", - " 'short_name': 'Magallanes y de la Antártica Chilena',\n", - " 'abbreviation': 'MAG',\n", - " 'iso_code': 'CL-MA',\n", - " 'provinces': [{'id': '121',\n", - " 'name': 'Magallanes',\n", - " 'communes': [{'id': '12101', 'name': 'Punta Arenas'},\n", - " {'id': '12102', 'name': 'Laguna Blanca'},\n", - " {'id': '12103', 'name': 'Río Verde'},\n", - " {'id': '12104', 'name': 'San Gregorio'}]},\n", - " {'id': '122',\n", - " 'name': 'Antártica Chilena',\n", - " 'communes': [{'id': '12201', 'name': 'Cabo de Hornos'},\n", - " {'id': '12202', 'name': 'Antártica'}]},\n", - " {'id': '123',\n", - " 'name': 'Tierra del Fuego',\n", - " 'communes': [{'id': '12301', 'name': 'Porvenir'},\n", - " {'id': '12302', 'name': 'Primavera'},\n", - " {'id': '12303', 'name': 'Timaukel'}]},\n", - " {'id': '124',\n", - " 'name': 'Última Esperanza',\n", - " 'communes': [{'id': '12401', 'name': 'Natales'},\n", - " {'id': '12402', 'name': 'Torres del Paine'}]}]},\n", - " {'id': '13',\n", - " 'name': 'Región Metropolitana de Santiago',\n", - " 'short_name': 'Metropolitana de Santiago',\n", - " 'abbreviation': 'RM',\n", - " 'iso_code': 'CL-RM',\n", - " 'provinces': [{'id': '131',\n", - " 'name': 'Santiago',\n", - " 'communes': [{'id': '13101', 'name': 'Santiago'},\n", - " {'id': '13102', 'name': 'Cerrillos'},\n", - " {'id': '13103', 'name': 'Cerro Navia'},\n", - " {'id': '13104', 'name': 'Conchalí'},\n", - " {'id': '13105', 'name': 'El Bosque'},\n", - " {'id': '13106', 'name': 'Estación Central'},\n", - " {'id': '13107', 'name': 'Huechuraba'},\n", - " {'id': '13108', 'name': 'Independencia'},\n", - " {'id': '13109', 'name': 'La Cisterna'},\n", - " {'id': '13110', 'name': 'La Florida'},\n", - " {'id': '13111', 'name': 'La Granja'},\n", - " {'id': '13112', 'name': 'La Pintana'},\n", - " {'id': '13113', 'name': 'La Reina'},\n", - " {'id': '13114', 'name': 'Las Condes'},\n", - " {'id': '13115', 'name': 'Lo Barnechea'},\n", - " {'id': '13116', 'name': 'Lo Espejo'},\n", - " {'id': '13117', 'name': 'Lo Prado'},\n", - " {'id': '13118', 'name': 'Macul'},\n", - " {'id': '13119', 'name': 'Maipú'},\n", - " {'id': '13120', 'name': 'Ñuñoa'},\n", - " {'id': '13121', 'name': 'Pedro Aguirre Cerda'},\n", - " {'id': '13122', 'name': 'Peñalolén'},\n", - " {'id': '13123', 'name': 'Providencia'},\n", - " {'id': '13124', 'name': 'Pudahuel'},\n", - " {'id': '13125', 'name': 'Quilicura'},\n", - " {'id': '13126', 'name': 'Quinta Normal'},\n", - " {'id': '13127', 'name': 'Recoleta'},\n", - " {'id': '13128', 'name': 'Renca'},\n", - " {'id': '13129', 'name': 'San Joaquín'},\n", - " {'id': '13130', 'name': 'San Miguel'},\n", - " {'id': '13131', 'name': 'San Ramón'},\n", - " {'id': '13132', 'name': 'Vitacura'}]},\n", - " {'id': '132',\n", - " 'name': 'Cordillera',\n", - " 'communes': [{'id': '13201', 'name': 'Puente Alto'},\n", - " {'id': '13202', 'name': 'Pirque'},\n", - " {'id': '13203', 'name': 'San José de Maipo'}]},\n", - " {'id': '133',\n", - " 'name': 'Chacabuco',\n", - " 'communes': [{'id': '13301', 'name': 'Colina'},\n", - " {'id': '13302', 'name': 'Lampa'},\n", - " {'id': '13303', 'name': 'Tiltil'}]},\n", - " {'id': '134',\n", - " 'name': 'Maipo',\n", - " 'communes': [{'id': '13401', 'name': 'San Bernardo'},\n", - " {'id': '13402', 'name': 'Buin'},\n", - " {'id': '13403', 'name': 'Calera de Tango'},\n", - " {'id': '13404', 'name': 'Paine'}]},\n", - " {'id': '135',\n", - " 'name': 'Melipilla',\n", - " 'communes': [{'id': '13501', 'name': 'Melipilla'},\n", - " {'id': '13502', 'name': 'Alhué'},\n", - " {'id': '13503', 'name': 'Curacaví'},\n", - " {'id': '13504', 'name': 'María Pinto'},\n", - " {'id': '13505', 'name': 'San Pedro'}]},\n", - " {'id': '136',\n", - " 'name': 'Talagante',\n", - " 'communes': [{'id': '13601', 'name': 'Talagante'},\n", - " {'id': '13602', 'name': 'El Monte'},\n", - " {'id': '13603', 'name': 'Isla de Maipo'},\n", - " {'id': '13604', 'name': 'Padre Hurtado'},\n", - " {'id': '13605', 'name': 'Peñaflor'}]}]},\n", - " {'id': '14',\n", - " 'name': 'Región de Los Ríos',\n", - " 'short_name': 'Los Ríos',\n", - " 'abbreviation': 'RIOS',\n", - " 'iso_code': 'CL-LR',\n", - " 'provinces': [{'id': '141',\n", - " 'name': 'Valdivia',\n", - " 'communes': [{'id': '14101', 'name': 'Valdivia'},\n", - " {'id': '14102', 'name': 'Corral'},\n", - " {'id': '14103', 'name': 'Lanco'},\n", - " {'id': '14104', 'name': 'Los Lagos'},\n", - " {'id': '14105', 'name': 'Máfil'},\n", - " {'id': '14106', 'name': 'Mariquina'},\n", - " {'id': '14107', 'name': 'Paillaco'},\n", - " {'id': '14108', 'name': 'Panguipulli'}]},\n", - " {'id': '142',\n", - " 'name': 'Ranco',\n", - " 'communes': [{'id': '14201', 'name': 'La Unión'},\n", - " {'id': '14202', 'name': 'Futrono'},\n", - " {'id': '14203', 'name': 'Lago Ranco'},\n", - " {'id': '14204', 'name': 'Río Bueno'}]}]},\n", - " {'id': '15',\n", - " 'name': 'Región de Arica y Parinacota',\n", - " 'short_name': 'Arica y Parinacota',\n", - " 'abbreviation': 'AyP',\n", - " 'iso_code': 'CL-AP',\n", - " 'provinces': [{'id': '151',\n", - " 'name': 'Arica',\n", - " 'communes': [{'id': '15101', 'name': 'Arica'},\n", - " {'id': '15102', 'name': 'Camarones'}]},\n", - " {'id': '152',\n", - " 'name': 'Parinacota',\n", - " 'communes': [{'id': '15201', 'name': 'Putre'},\n", - " {'id': '15202', 'name': 'General Lagos'}]}]},\n", - " {'id': '16',\n", - " 'name': 'Región de Ñuble',\n", - " 'short_name': 'Ñuble',\n", - " 'abbreviation': 'NUBLE',\n", - " 'iso_code': 'CL-NB',\n", - " 'provinces': [{'id': '161',\n", - " 'name': 'Diguillín',\n", - " 'communes': [{'id': '16101', 'name': 'Chillán'},\n", - " {'id': '16102', 'name': 'Bulnes'},\n", - " {'id': '16103', 'name': 'Chillán Viejo'},\n", - " {'id': '16104', 'name': 'El Carmen'},\n", - " {'id': '16105', 'name': 'Pemuco'},\n", - " {'id': '16106', 'name': 'Pinto'},\n", - " {'id': '16107', 'name': 'Quillón'},\n", - " {'id': '16108', 'name': 'San Ignacio'},\n", - " {'id': '16109', 'name': 'Yungay'}]},\n", - " {'id': '162',\n", - " 'name': 'Itata',\n", - " 'communes': [{'id': '16201', 'name': 'Quirihue'},\n", - " {'id': '16202', 'name': 'Cobquecura'},\n", - " {'id': '16203', 'name': 'Coelemu'},\n", - " {'id': '16204', 'name': 'Ninhue'},\n", - " {'id': '16205', 'name': 'Portezuelo'},\n", - " {'id': '16206', 'name': 'Ranquil'},\n", - " {'id': '16207', 'name': 'Treguaco'}]},\n", - " {'id': '163',\n", - " 'name': 'Punilla',\n", - " 'communes': [{'id': '16301', 'name': 'San Carlos'},\n", - " {'id': '16302', 'name': 'Coihueco'},\n", - " {'id': '16303', 'name': 'Ñiquén'},\n", - " {'id': '16304', 'name': 'San Fabián'},\n", - " {'id': '16305', 'name': 'San Nicolás'}]}]}]}" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "communes_grouped = communes_df.groupby(\"province_id\")\n", "provinces_df[\"communes\"] = provinces_df[\"id\"].apply(\n", @@ -4296,29 +301,38 @@ " ]\n", ")\n", "\n", - "regions = {\n", + "cl_country_array = {\n", " \"country\": \"Chile\",\n", + " \"countryCode\": \"CL\",\n", " \"regions\": [\n", " {\n", " \"id\": row[\"id\"],\n", " \"name\": row[\"name\"],\n", - " \"short_name\": row[\"short_name\"],\n", + " \"shortName\": row[\"short_name\"],\n", " \"abbreviation\": row[\"abbreviation\"],\n", - " \"iso_code\": row[\"iso_code\"],\n", + " \"isoCode\": row[\"iso_code\"],\n", " \"provinces\": row[\"provinces\"],\n", " }\n", " for _, row in regions_df.iterrows()\n", " ],\n", "}\n", - "regions\n", - "\n" + "# Convertir el arreglo a JSON\n", + "json_array = json.dumps(cl_country_array, ensure_ascii=False, indent=2)\n", + "\n", + "# Guardar JSON en un archivo\n", + "with open(\"json/array.json\", \"w\", encoding=\"utf-8\") as f:\n", + " f.write(json_array)\n", + "\n", + "# Imprimir el JSON para verificar\n", + "print(json_array)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Construcción de Región SQL" + "## SQL\n", + "### Construcción de Región SQL" ] }, { @@ -4330,11 +344,11 @@ "# Definir el modelo de la tabla\n", "table_model = \"\"\"\n", "CREATE TABLE region (\n", - " id VARCHAR(2) PRIMARY KEY,\n", - " name VARCHAR(255),\n", - " short_name VARCHAR(255),\n", - " abbreviation VARCHAR(10),\n", - " iso_code VARCHAR(10)\n", + " id VARCHAR(2) PRIMARY KEY,\n", + " name VARCHAR(255),\n", + " short_name VARCHAR(255),\n", + " abbreviation VARCHAR(10),\n", + " iso_code VARCHAR(10)\n", ");\n", "\"\"\"\n", "\n", @@ -4354,6 +368,13 @@ "print(sql_script)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Construcción de Provincia SQL" + ] + }, { "cell_type": "code", "execution_count": null, @@ -4363,10 +384,10 @@ "# Definir el modelo de la tabla\n", "provinces_table_model = \"\"\"\n", "CREATE TABLE province (\n", - " id VARCHAR(3) PRIMARY KEY,\n", - " name VARCHAR(255),\n", - " region_id VARCHAR(2),\n", - " FOREIGN KEY (region_id) REFERENCES region(id)\n", + " id VARCHAR(3) PRIMARY KEY,\n", + " name VARCHAR(255),\n", + " region_id VARCHAR(2),\n", + " FOREIGN KEY (region_id) REFERENCES region(id)\n", ");\n", "\"\"\"\n", "\n", @@ -4386,6 +407,13 @@ "print(provinces_sql_script)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Construcción de Comuna SQL" + ] + }, { "cell_type": "code", "execution_count": null, @@ -4395,10 +423,10 @@ "# Definir el modelo de la tabla\n", "communes_table_model = \"\"\"\n", "CREATE TABLE commune (\n", - " id VARCHAR(5) PRIMARY KEY,\n", - " name VARCHAR(255),\n", - " province_id VARCHAR(3),\n", - " FOREIGN KEY (province_id) REFERENCES province(id)\n", + " id VARCHAR(5) PRIMARY KEY,\n", + " name VARCHAR(255),\n", + " province_id VARCHAR(3),\n", + " FOREIGN KEY (province_id) REFERENCES province(id)\n", ");\n", "\"\"\"\n", "\n", diff --git a/packages/data/sql/communes.sql b/packages/data/sql/communes.sql index 5baadcc..5a24bc8 100644 --- a/packages/data/sql/communes.sql +++ b/packages/data/sql/communes.sql @@ -1,9 +1,9 @@ CREATE TABLE commune ( - id VARCHAR(5) PRIMARY KEY, - name VARCHAR(255), - province_id VARCHAR(3), - FOREIGN KEY (province_id) REFERENCES province(id) + id VARCHAR(5) PRIMARY KEY, + name VARCHAR(255), + province_id VARCHAR(3), + FOREIGN KEY (province_id) REFERENCES province(id) ); INSERT INTO commune (id, name, province_id) VALUES ('01101', 'Iquique', '011'); diff --git a/packages/data/sql/provinces.sql b/packages/data/sql/provinces.sql index 1337e97..9aa2177 100644 --- a/packages/data/sql/provinces.sql +++ b/packages/data/sql/provinces.sql @@ -1,9 +1,9 @@ CREATE TABLE province ( - id VARCHAR(3) PRIMARY KEY, - name VARCHAR(255), - region_id VARCHAR(2), - FOREIGN KEY (region_id) REFERENCES region(id) + id VARCHAR(3) PRIMARY KEY, + name VARCHAR(255), + region_id VARCHAR(2), + FOREIGN KEY (region_id) REFERENCES region(id) ); INSERT INTO province (id, name, region_id) VALUES ('011', 'Iquique', '01'); diff --git a/packages/data/sql/regions.sql b/packages/data/sql/regions.sql index 3589bbf..1a34ab2 100644 --- a/packages/data/sql/regions.sql +++ b/packages/data/sql/regions.sql @@ -1,10 +1,10 @@ CREATE TABLE region ( - id VARCHAR(2) PRIMARY KEY, - name VARCHAR(255), - short_name VARCHAR(255), - abbreviation VARCHAR(10), - iso_code VARCHAR(10) + id VARCHAR(2) PRIMARY KEY, + name VARCHAR(255), + short_name VARCHAR(255), + abbreviation VARCHAR(10), + iso_code VARCHAR(10) ); INSERT INTO region (id, name, short_name, abbreviation, iso_code) VALUES ('01', 'Región de Tarapacá', 'Tarapacá', 'TPCA', 'CL-TA'); diff --git a/packages/data/tests/json_test.py b/packages/data/tests/json_test.py index 503d0e0..691e977 100644 --- a/packages/data/tests/json_test.py +++ b/packages/data/tests/json_test.py @@ -3,17 +3,18 @@ class TestJson(unittest.TestCase): - def test_regions_json(self): - with open("json/data.json") as f: + def test_json_object(self): + with open("json/object.json") as f: data = json.load(f) self.assertEqual(data["country"], "Chile") + self.assertEqual(data["countryCode"], "CL") self.assertEqual("regions" in data, True) self.assertEqual(len(data["regions"]), 16) first_region = data["regions"]["01"] self.assertEqual("id" in first_region, True) - self.assertEqual("short_name" in first_region, True) + self.assertEqual("shortName" in first_region, True) self.assertEqual("abbreviation" in first_region, True) - self.assertEqual("iso_code" in first_region, True) + self.assertEqual("isoCode" in first_region, True) self.assertEqual("provinces" in first_region, True) first_province = first_region["provinces"]["011"] self.assertEqual("id" in first_province, True) @@ -22,3 +23,42 @@ def test_regions_json(self): first_commune = first_province["communes"]["01101"] self.assertEqual("id" in first_commune, True) self.assertEqual("name" in first_commune, True) + + def test_json_array(self): + with open("json/array.json") as f: + data = json.load(f) + + # Verificar estructura principal + self.assertEqual(data["country"], "Chile") + self.assertEqual(data["countryCode"], "CL") + self.assertTrue(isinstance(data["regions"], list)) + + # Verificar regiones + self.assertEqual(len(data["regions"]), 16) + + # Verificar primera región + first_region = data["regions"][0] + self.assertTrue("id" in first_region) + self.assertTrue("name" in first_region) + self.assertTrue("shortName" in first_region) + self.assertTrue("abbreviation" in first_region) + self.assertTrue("isoCode" in first_region) + self.assertTrue("provinces" in first_region) + + # Verificar provincias + first_province = first_region["provinces"][0] + self.assertTrue("id" in first_province) + self.assertTrue("name" in first_province) + self.assertTrue("communes" in first_province) + + # Verificar comunas + first_commune = first_province["communes"][0] + self.assertTrue("id" in first_commune) + self.assertTrue("name" in first_commune) + + # Verificar datos específicos de la primera región + self.assertEqual(first_region["id"], "01") + self.assertEqual(first_region["name"], "Región de Tarapacá") + self.assertEqual(first_region["shortName"], "Tarapacá") + self.assertEqual(first_region["abbreviation"], "TPCA") + self.assertEqual(first_region["isoCode"], "CL-TA") \ No newline at end of file From 926b21469e3b7c148011507c18256976bef4f725 Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 05:25:47 +0000 Subject: [PATCH 03/13] refactor: update data imports to include object and array JSON files --- packages/data/index.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/data/index.ts b/packages/data/index.ts index b0fc58c..3cc52c2 100644 --- a/packages/data/index.ts +++ b/packages/data/index.ts @@ -1,3 +1,7 @@ -import data from "./json/data.json" with { type: "json" }; +import object from "./json/object.json" with { type: "json" }; +import array from "./json/array.json" with { type: "json" }; -export default data; +export { + object, + array +}; From 15bfcd725fd8152f6af526bfe62b72c032a4359f Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 05:51:18 +0000 Subject: [PATCH 04/13] docs(changeset): Upgrade types to nodejs 20 From 86ad795b34601d556874208866dc44e8d16fb4a3 Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 06:09:29 +0000 Subject: [PATCH 05/13] docs(changeset): tst --- .changeset/late-colts-grin.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/late-colts-grin.md diff --git a/.changeset/late-colts-grin.md b/.changeset/late-colts-grin.md new file mode 100644 index 0000000..d358b4a --- /dev/null +++ b/.changeset/late-colts-grin.md @@ -0,0 +1,5 @@ +--- +"@clregions/tsconfig": major +--- + +tst From e2405aff0d5179c41c746ff7c25c356fac0cf559 Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 06:10:17 +0000 Subject: [PATCH 06/13] RELEASING: Releasing 1 package(s) Releases: @clregions/tsconfig@2.0.0 [skip ci] --- .changeset/late-colts-grin.md | 5 ----- packages/tsconfig/CHANGELOG.md | 7 +++++++ packages/tsconfig/package.json | 18 +++++++++--------- 3 files changed, 16 insertions(+), 14 deletions(-) delete mode 100644 .changeset/late-colts-grin.md create mode 100644 packages/tsconfig/CHANGELOG.md diff --git a/.changeset/late-colts-grin.md b/.changeset/late-colts-grin.md deleted file mode 100644 index d358b4a..0000000 --- a/.changeset/late-colts-grin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@clregions/tsconfig": major ---- - -tst diff --git a/packages/tsconfig/CHANGELOG.md b/packages/tsconfig/CHANGELOG.md new file mode 100644 index 0000000..284dbd8 --- /dev/null +++ b/packages/tsconfig/CHANGELOG.md @@ -0,0 +1,7 @@ +# @clregions/tsconfig + +## 2.0.0 + +### Major Changes + +- 86ad795: tst diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index c33d6b0..7b49e3f 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -1,9 +1,9 @@ -{ - "name": "@clregions/tsconfig", - "version": "0.1.0", - "private": false, - "repository": "github:piperubio/clregions", - "devDependencies": { - "@tsconfig/node16": "^1.0.3" - } -} +{ + "name": "@clregions/tsconfig", + "version": "2.0.0", + "private": false, + "repository": "github:piperubio/clregions", + "devDependencies": { + "@tsconfig/node20": "^20.1.4" + } +} From 5d62bb8af72461fb50e26e9ca1b249589a747aed Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 06:13:12 +0000 Subject: [PATCH 07/13] docs(changeset): Update tsconfig for nodejs v20 --- .changeset/giant-lies-beam.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/giant-lies-beam.md diff --git a/.changeset/giant-lies-beam.md b/.changeset/giant-lies-beam.md new file mode 100644 index 0000000..eec577e --- /dev/null +++ b/.changeset/giant-lies-beam.md @@ -0,0 +1,5 @@ +--- +"@clregions/tsconfig": major +--- + +Update tsconfig for nodejs v20 From ac6a68282743ad6347f16b7545ff4553f6c3239e Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 06:13:41 +0000 Subject: [PATCH 08/13] RELEASING: Releasing 1 package(s) Releases: @clregions/tsconfig@1.0.0 [skip ci] --- .changeset/giant-lies-beam.md | 5 ---- packages/data/package.json | 54 +++++++++++++++++++++++----------- packages/tsconfig/CHANGELOG.md | 4 +-- packages/tsconfig/package.json | 2 +- 4 files changed, 40 insertions(+), 25 deletions(-) delete mode 100644 .changeset/giant-lies-beam.md diff --git a/.changeset/giant-lies-beam.md b/.changeset/giant-lies-beam.md deleted file mode 100644 index eec577e..0000000 --- a/.changeset/giant-lies-beam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@clregions/tsconfig": major ---- - -Update tsconfig for nodejs v20 diff --git a/packages/data/package.json b/packages/data/package.json index 384005e..2cf0d43 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,18 +1,38 @@ { - "name": "@clregions/data", - "version": "0.1.0", - "description": "", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "repository": "github:piperubio/clregions", - "scripts": { - "build": "tsup index.ts data.json" - }, - "keywords": [], - "author": "piperubio", - "license": "MIT", - "dependencies": { - "tsup": "^6.6.2", - "typescript": "^4.9.5" - } -} + "name": "@clregions/data", + "version": "1.0.0", + "description": "Paquete de datos para regiones de Chile, proporcionando acceso a información estructurada en formato JSON, CSV y SQL", + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "homepage": "https://github.com/piperubio/clregions", + "bugs": { + "url": "https://github.com/piperubio/clregions/issues" + }, + "repository": "github:piperubio/clregions", + "scripts": { + "build": "tsup index.ts" + }, + "keywords": [ + "chile", + "regiones", + "provincias", + "comunas", + "data", + "json", + "csv", + "sql" + ], + "author": "piperubio", + "license": "MIT", + "dependencies": { + "tsup": "^8.3.5", + "typescript": "^5.7.3" + }, + "files": [ + "dist" + ], + "devDependencies": { + "@clregions/tsconfig": "^1.0.0" + } +} \ No newline at end of file diff --git a/packages/tsconfig/CHANGELOG.md b/packages/tsconfig/CHANGELOG.md index 284dbd8..6400797 100644 --- a/packages/tsconfig/CHANGELOG.md +++ b/packages/tsconfig/CHANGELOG.md @@ -1,7 +1,7 @@ # @clregions/tsconfig -## 2.0.0 +## 1.0.0 ### Major Changes -- 86ad795: tst +- 5d62bb8: Update tsconfig for nodejs v20 diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index 7b49e3f..037d133 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -1,6 +1,6 @@ { "name": "@clregions/tsconfig", - "version": "2.0.0", + "version": "1.0.0", "private": false, "repository": "github:piperubio/clregions", "devDependencies": { From 12c96f1c1b9ea8f4db8eebfb0926e2cd8a288134 Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 06:21:16 +0000 Subject: [PATCH 09/13] chore: update tsconfig to nodejs v20 and add changeset configuration --- .changeset/README.md | 8 + .changeset/config.json | 11 + .devcontainer/devcontainer.json | 3 +- .gitignore | 1 - clregionsjs.code-workspace | 21 +- package.json | 52 +-- packages/data/LICENSE | 21 ++ packages/data/package.json | 2 +- packages/tsconfig/CHANGELOG.md | 6 + packages/tsconfig/base.json | 10 +- pnpm-lock.yaml | 626 +++++++++++++++++++++++++++++++- 11 files changed, 715 insertions(+), 46 deletions(-) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 packages/data/LICENSE diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000..e5b6d8d --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..6333fc0 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.0.5/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": true, + "fixed": [], + "linked": [], + "access": "public", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 40b7f07..f12fb60 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -32,7 +32,8 @@ "ms-python.debugpy", "ms-toolsai.jupyter", "mechatroner.rainbow-csv", - "charliermarsh.ruff" + "charliermarsh.ruff", + "pflannery.vscode-versionlens" ] } } diff --git a/.gitignore b/.gitignore index faff7d5..fc5dd1e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ node_modules coverage dist -.changeset .DS_Store .pnpm-store \ No newline at end of file diff --git a/clregionsjs.code-workspace b/clregionsjs.code-workspace index 5590deb..4fa41db 100644 --- a/clregionsjs.code-workspace +++ b/clregionsjs.code-workspace @@ -3,12 +3,15 @@ { "path": "." }, - { - "path": "packages/data" - }, - { - "path": "packages/core" - } - ], - "settings": {} -} \ No newline at end of file + { + "path": "packages/tsconfig" + }, + { + "path": "packages/data" + }, + { + "path": "packages/core" + } + ], + "settings": {} +} diff --git a/package.json b/package.json index db14108..fbf433d 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,31 @@ { - "name": "clregions", - "version": "0.1.0", - "description": "Chilean (CL) regions, provinces and communes", - "repository": "github:piperubio/clregions", - "keywords": [ - "cl", - "chile", - "regions", - "provinces", - "communes", - "regiones", - "provincias", - "comunas" - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "devDependencies": { - "@biomejs/biome": "1.9.4" - } -} \ No newline at end of file + "name": "clregions", + "version": "0.1.0", + "description": "Chilean (CL) regions, provinces and communes", + "repository": "github:piperubio/clregions", + "keywords": [ + "cl", + "chile", + "regions", + "provinces", + "communes", + "regiones", + "provincias", + "comunas" + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "scripts": { + "changeset": "changeset", + "version": "changeset version", + "publish": "changeset publish" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4" + }, + "dependencies": { + "@changesets/cli": "^2.26.0" + } +} diff --git a/packages/data/LICENSE b/packages/data/LICENSE new file mode 100644 index 0000000..6481b56 --- /dev/null +++ b/packages/data/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Felipe Rubio Galaz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/data/package.json b/packages/data/package.json index 2cf0d43..4b4b1f3 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@clregions/data", - "version": "1.0.0", + "version": "0.1.0", "description": "Paquete de datos para regiones de Chile, proporcionando acceso a información estructurada en formato JSON, CSV y SQL", "type": "module", "main": "dist/index.js", diff --git a/packages/tsconfig/CHANGELOG.md b/packages/tsconfig/CHANGELOG.md index 6400797..64ada3a 100644 --- a/packages/tsconfig/CHANGELOG.md +++ b/packages/tsconfig/CHANGELOG.md @@ -5,3 +5,9 @@ ### Major Changes - 5d62bb8: Update tsconfig for nodejs v20 + +### 0.1.0 + +### Minor Changes + +- 4c555a1: Add tsconfig for nodejs v16 \ No newline at end of file diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json index 4cb24d5..9315acb 100644 --- a/packages/tsconfig/base.json +++ b/packages/tsconfig/base.json @@ -1,6 +1,6 @@ { - "extends": "@tsconfig/node16/tsconfig.json", - "compilerOptions": { - "outDir": "dist" - } -} \ No newline at end of file + "extends": "@tsconfig/node20/tsconfig.json", + "compilerOptions": { + "outDir": "dist" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab1b9d3..e417388 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,10 @@ settings: importers: .: + dependencies: + '@changesets/cli': + specifier: ^2.26.0 + version: 2.27.11 devDependencies: '@biomejs/biome': specifier: 1.9.4 @@ -63,17 +67,24 @@ importers: packages/data: dependencies: tsup: - specifier: ^6.6.2 - version: 6.7.0(postcss@8.4.49)(ts-node@10.9.2(@types/node@18.19.70)(typescript@4.9.5))(typescript@4.9.5) + specifier: ^8.3.5 + version: 8.3.5(postcss@8.4.49)(typescript@5.7.3) typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.7.3 + version: 5.7.3 + devDependencies: + '@clregions/tsconfig': + specifier: ^0.1.0 + version: 0.1.0 packages/tsconfig: devDependencies: - '@tsconfig/node16': - specifier: ^1.0.3 - version: 1.0.4 + '@changesets/cli': + specifier: ^2.26.0 + version: 2.27.11 + '@tsconfig/node20': + specifier: ^20.1.4 + version: 20.1.4 packages: @@ -192,10 +203,19 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@clregions/tsconfig@0.1.0': + resolution: {integrity: sha512-TQzGxqiL2qKaa1yhe9EeZbm8ozdLo0KDmYXMEU4INsz7ezINgLRGWAznr6KJC2uje0du5wFlDsoUQabi4KmifQ==} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -208,6 +228,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -220,6 +246,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -232,6 +264,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -244,6 +282,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -256,6 +300,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -268,6 +318,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -280,6 +336,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -292,6 +354,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -304,6 +372,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -316,6 +390,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} @@ -328,6 +408,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -340,6 +426,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -352,6 +444,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -364,6 +462,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -376,6 +480,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -388,6 +498,18 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -400,6 +522,18 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -412,6 +546,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -424,6 +564,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -436,6 +582,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -448,6 +600,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -460,6 +618,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -542,6 +706,101 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@rollup/rollup-android-arm-eabi@4.30.1': + resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.30.1': + resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.30.1': + resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.30.1': + resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.30.1': + resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.30.1': + resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.30.1': + resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.30.1': + resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.30.1': + resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.30.1': + resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.30.1': + resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.30.1': + resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.30.1': + resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.30.1': + resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.30.1': + resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.30.1': + resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} + cpu: [x64] + os: [win32] + '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -554,12 +813,18 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tsconfig/node20@20.1.4': + resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} + '@types/chai-subset@1.3.5': resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} '@types/chai@4.3.20': resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -749,6 +1014,12 @@ packages: peerDependencies: esbuild: '>=0.17' + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + c8@7.14.0: resolution: {integrity: sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==} engines: {node: '>=10.12.0'} @@ -783,6 +1054,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -811,6 +1086,10 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -880,6 +1159,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -962,6 +1246,14 @@ packages: fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1188,6 +1480,10 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -1402,6 +1698,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -1425,6 +1725,24 @@ packages: ts-node: optional: true + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss@8.4.49: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} @@ -1460,6 +1778,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.1: + resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} + engines: {node: '>= 14.18.0'} + regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -1489,6 +1811,11 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true + rollup@4.30.1: + resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -1617,6 +1944,13 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + tinypool@0.3.1: resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} engines: {node: '>=14.0.0'} @@ -1676,6 +2010,25 @@ packages: typescript: optional: true + tsup@8.3.5: + resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -1711,6 +2064,11 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + udc@1.0.1: resolution: {integrity: sha512-jv+D9de1flsum5QkFtBdjyppCQAdz9kTck/0xST5Vx48T9LL2BYnw0Iw77dSKDQ9KZ/PS3qPO1vfXHDpLZlxcQ==} @@ -2050,142 +2408,219 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 + '@clregions/tsconfig@0.1.0': {} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@esbuild/aix-ppc64@0.24.2': + optional: true + '@esbuild/android-arm64@0.17.19': optional: true '@esbuild/android-arm64@0.18.20': optional: true + '@esbuild/android-arm64@0.24.2': + optional: true + '@esbuild/android-arm@0.17.19': optional: true '@esbuild/android-arm@0.18.20': optional: true + '@esbuild/android-arm@0.24.2': + optional: true + '@esbuild/android-x64@0.17.19': optional: true '@esbuild/android-x64@0.18.20': optional: true + '@esbuild/android-x64@0.24.2': + optional: true + '@esbuild/darwin-arm64@0.17.19': optional: true '@esbuild/darwin-arm64@0.18.20': optional: true + '@esbuild/darwin-arm64@0.24.2': + optional: true + '@esbuild/darwin-x64@0.17.19': optional: true '@esbuild/darwin-x64@0.18.20': optional: true + '@esbuild/darwin-x64@0.24.2': + optional: true + '@esbuild/freebsd-arm64@0.17.19': optional: true '@esbuild/freebsd-arm64@0.18.20': optional: true + '@esbuild/freebsd-arm64@0.24.2': + optional: true + '@esbuild/freebsd-x64@0.17.19': optional: true '@esbuild/freebsd-x64@0.18.20': optional: true + '@esbuild/freebsd-x64@0.24.2': + optional: true + '@esbuild/linux-arm64@0.17.19': optional: true '@esbuild/linux-arm64@0.18.20': optional: true + '@esbuild/linux-arm64@0.24.2': + optional: true + '@esbuild/linux-arm@0.17.19': optional: true '@esbuild/linux-arm@0.18.20': optional: true + '@esbuild/linux-arm@0.24.2': + optional: true + '@esbuild/linux-ia32@0.17.19': optional: true '@esbuild/linux-ia32@0.18.20': optional: true + '@esbuild/linux-ia32@0.24.2': + optional: true + '@esbuild/linux-loong64@0.17.19': optional: true '@esbuild/linux-loong64@0.18.20': optional: true + '@esbuild/linux-loong64@0.24.2': + optional: true + '@esbuild/linux-mips64el@0.17.19': optional: true '@esbuild/linux-mips64el@0.18.20': optional: true + '@esbuild/linux-mips64el@0.24.2': + optional: true + '@esbuild/linux-ppc64@0.17.19': optional: true '@esbuild/linux-ppc64@0.18.20': optional: true + '@esbuild/linux-ppc64@0.24.2': + optional: true + '@esbuild/linux-riscv64@0.17.19': optional: true '@esbuild/linux-riscv64@0.18.20': optional: true + '@esbuild/linux-riscv64@0.24.2': + optional: true + '@esbuild/linux-s390x@0.17.19': optional: true '@esbuild/linux-s390x@0.18.20': optional: true + '@esbuild/linux-s390x@0.24.2': + optional: true + '@esbuild/linux-x64@0.17.19': optional: true '@esbuild/linux-x64@0.18.20': optional: true + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + '@esbuild/netbsd-x64@0.17.19': optional: true '@esbuild/netbsd-x64@0.18.20': optional: true + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + '@esbuild/openbsd-x64@0.17.19': optional: true '@esbuild/openbsd-x64@0.18.20': optional: true + '@esbuild/openbsd-x64@0.24.2': + optional: true + '@esbuild/sunos-x64@0.17.19': optional: true '@esbuild/sunos-x64@0.18.20': optional: true + '@esbuild/sunos-x64@0.24.2': + optional: true + '@esbuild/win32-arm64@0.17.19': optional: true '@esbuild/win32-arm64@0.18.20': optional: true + '@esbuild/win32-arm64@0.24.2': + optional: true + '@esbuild/win32-ia32@0.17.19': optional: true '@esbuild/win32-ia32@0.18.20': optional: true + '@esbuild/win32-ia32@0.24.2': + optional: true + '@esbuild/win32-x64@0.17.19': optional: true '@esbuild/win32-x64@0.18.20': optional: true + '@esbuild/win32-x64@0.24.2': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -2285,6 +2720,63 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@rollup/rollup-android-arm-eabi@4.30.1': + optional: true + + '@rollup/rollup-android-arm64@4.30.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.30.1': + optional: true + + '@rollup/rollup-darwin-x64@4.30.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.30.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.30.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.30.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.30.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.30.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.30.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.30.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.30.1': + optional: true + '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -2293,12 +2785,16 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tsconfig/node20@20.1.4': {} + '@types/chai-subset@1.3.5': dependencies: '@types/chai': 4.3.20 '@types/chai@4.3.20': {} + '@types/estree@1.0.6': {} + '@types/istanbul-lib-coverage@2.0.6': {} '@types/json-schema@7.0.15': {} @@ -2521,6 +3017,11 @@ snapshots: esbuild: 0.17.19 load-tsconfig: 0.2.5 + bundle-require@5.1.0(esbuild@0.24.2): + dependencies: + esbuild: 0.24.2 + load-tsconfig: 0.2.5 + c8@7.14.0: dependencies: '@bcoe/v8-coverage': 0.2.3 @@ -2578,6 +3079,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.1 + ci-info@3.9.0: {} cli-truncate@3.1.0: @@ -2603,6 +3108,8 @@ snapshots: confbox@0.1.8: {} + consola@3.4.0: {} + convert-source-map@2.0.0: {} create-require@1.1.1: {} @@ -2698,6 +3205,34 @@ snapshots: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + escalade@3.2.0: {} escape-string-regexp@4.0.0: {} @@ -2817,6 +3352,10 @@ snapshots: dependencies: reusify: 1.0.4 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -3037,6 +3576,8 @@ snapshots: lilconfig@2.1.0: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} load-tsconfig@0.2.5: {} @@ -3211,6 +3752,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pify@4.0.1: {} pirates@4.0.6: {} @@ -3229,6 +3772,12 @@ snapshots: postcss: 8.4.49 ts-node: 10.9.2(@types/node@18.19.70)(typescript@4.9.5) + postcss-load-config@6.0.1(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + postcss: 8.4.49 + postcss@8.4.49: dependencies: nanoid: 3.3.8 @@ -3262,6 +3811,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.1.1: {} + regenerator-runtime@0.14.1: {} require-directory@2.1.1: {} @@ -3280,6 +3831,31 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + rollup@4.30.1: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.30.1 + '@rollup/rollup-android-arm64': 4.30.1 + '@rollup/rollup-darwin-arm64': 4.30.1 + '@rollup/rollup-darwin-x64': 4.30.1 + '@rollup/rollup-freebsd-arm64': 4.30.1 + '@rollup/rollup-freebsd-x64': 4.30.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 + '@rollup/rollup-linux-arm-musleabihf': 4.30.1 + '@rollup/rollup-linux-arm64-gnu': 4.30.1 + '@rollup/rollup-linux-arm64-musl': 4.30.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 + '@rollup/rollup-linux-riscv64-gnu': 4.30.1 + '@rollup/rollup-linux-s390x-gnu': 4.30.1 + '@rollup/rollup-linux-x64-gnu': 4.30.1 + '@rollup/rollup-linux-x64-musl': 4.30.1 + '@rollup/rollup-win32-arm64-msvc': 4.30.1 + '@rollup/rollup-win32-ia32-msvc': 4.30.1 + '@rollup/rollup-win32-x64-msvc': 4.30.1 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -3402,6 +3978,13 @@ snapshots: tinybench@2.9.0: {} + tinyexec@0.3.2: {} + + tinyglobby@0.2.10: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@0.3.1: {} tinyspy@1.1.1: {} @@ -3465,6 +4048,33 @@ snapshots: - supports-color - ts-node + tsup@8.3.5(postcss@8.4.49)(typescript@5.7.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.24.2) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.0 + debug: 4.4.0 + esbuild: 0.24.2 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(postcss@8.4.49) + resolve-from: 5.0.0 + rollup: 4.30.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.4.49 + typescript: 5.7.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsutils@3.21.0(typescript@4.9.5): dependencies: tslib: 1.14.1 @@ -3493,6 +4103,8 @@ snapshots: typescript@4.9.5: {} + typescript@5.7.3: {} + udc@1.0.1: {} ufo@1.5.4: {} From e065778f8432e67a172740b769994929d9d22d0a Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 17:39:16 +0000 Subject: [PATCH 10/13] feat(data): add TypeScript types and update README for usage instructions --- .devcontainer/devcontainer.json | 15 ++- packages/core/package.json | 1 - packages/core/src/base-types.ts | 28 ---- packages/data/.gitignore | 1 - packages/data/README.md | 29 +++- packages/data/index.ts | 65 ++++++++- packages/data/package.json | 14 +- packages/data/tsconfig.json | 8 ++ pnpm-lock.yaml | 225 ++++++++++++++++++++++++++++++-- 9 files changed, 324 insertions(+), 62 deletions(-) delete mode 100644 packages/core/src/base-types.ts create mode 100644 packages/data/tsconfig.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f12fb60..2acc632 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -7,18 +7,18 @@ "features": { "ghcr.io/shyim/devcontainers-features/bun:0": {}, "ghcr.io/devcontainers-community/features/deno:1": {}, - "ghcr.io/devcontainers/features/python:1": { - "version": "3.12" - }, - "ghcr.io/devcontainers-contrib/features/ruff:1": { + "ghcr.io/devcontainers/features/python:1": { + "version": "3.12" + }, + "ghcr.io/devcontainers-contrib/features/ruff:1": { "version": "latest" }, "ghcr.io/va-h/devcontainers-features/uv:1": { "version": "latest" } }, - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "pnpm install", + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "echo alias pn='pnpm' >> ~/.bashrc && pn install", "customizations": { "vscode": { "extensions": [ @@ -33,7 +33,8 @@ "ms-toolsai.jupyter", "mechatroner.rainbow-csv", "charliermarsh.ruff", - "pflannery.vscode-versionlens" + "pflannery.vscode-versionlens", + "YoavBls.pretty-ts-errors" ] } } diff --git a/packages/core/package.json b/packages/core/package.json index 53ffd6f..70911a9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -40,7 +40,6 @@ "license": "MIT", "devDependencies": { "@changesets/cli": "^2.26.0", - "@clregions/data": "workspace:*", "@clregions/tsconfig": "workspace:*", "@types/node": "^18.13.0", "@typescript-eslint/eslint-plugin": "^5.53.0", diff --git a/packages/core/src/base-types.ts b/packages/core/src/base-types.ts deleted file mode 100644 index c5db1ee..0000000 --- a/packages/core/src/base-types.ts +++ /dev/null @@ -1,28 +0,0 @@ -export type CLCountry = { - country: string; - regions: { - [key: string]: CLRegion; - }; -}; - -export type CLRegion = { - id: string; - name: string; - iso_code: string; - provinces: { - [key: string]: CLProvince; - }; -}; - -export type CLProvince = { - id: string; - name: string; - communes: { - [key: string]: CLCommune; - }; -}; - -export type CLCommune = { - id: string; - name: string; -}; diff --git a/packages/data/.gitignore b/packages/data/.gitignore index 45237a1..96a3f3f 100644 --- a/packages/data/.gitignore +++ b/packages/data/.gitignore @@ -18,7 +18,6 @@ dist/ downloads/ eggs/ .eggs/ -lib/ lib64/ parts/ sdist/ diff --git a/packages/data/README.md b/packages/data/README.md index a0f3e4c..9e1e974 100644 --- a/packages/data/README.md +++ b/packages/data/README.md @@ -8,19 +8,42 @@ Datos en formato csv, json y sql. 🛡️ Si encuentras alguna discordancia en los datos, no dudes enviarnos un pull request. -## Requisitos +## Uso JS/TS + +### Instalación + +```bash +npm install @clregions/data +``` + +### Uso + +* `dataObject` contiene los datos en formato de objeto. + +```javascript +import { dataObject } from '@clregions/data'; +``` +* `dataArray` contiene los datos en formato de array. + +```javascript +import { dataArray } from '@clregions/data'; +``` + +## Desarrollo + +### Requisitos - Python 3.12 o superior - [uv package manager](https://docs.astral.sh/uv/) -## Instalación de dependencias +### Instalación de dependencias ```bash uv venv uv sync ``` -### Fuentes de Datos +## Fuentes de Datos [BCN Ley 21.074 2018](https://www.bcn.cl/leychile/navegar?idNorma=1115064) [BCN Decreto 1115 del Ministerio del Interior y Seguridad Pública 2018](https://www.bcn.cl/leychile/navegar?idNorma=1123248) diff --git a/packages/data/index.ts b/packages/data/index.ts index 3cc52c2..9a9f4cf 100644 --- a/packages/data/index.ts +++ b/packages/data/index.ts @@ -1,7 +1,58 @@ -import object from "./json/object.json" with { type: "json" }; -import array from "./json/array.json" with { type: "json" }; - -export { - object, - array -}; +import array from "./json/array.json" with { type: "json" }; +import object from "./json/object.json" with { type: "json" }; + +export type CLCountryObject = { + country: string; + countryCode: string; + regions: { + [key: string]: CLRegionObject; + }; +}; + +export type CLCountryArray = { + country: string; + countryCode: string; + regions: CLRegionArray[]; +}; + +export type CLRegionObject = { + id: string; + name: string; + shortName: string; + abbreviation: string; + isoCode: string; + provinces: { + [key: string]: CLProvinceObject; + }; +}; + +export type CLRegionArray = { + id: string; + name: string; + shortName: string; + abbreviation: string; + isoCode: string; + provinces: CLProvinceArray[]; +}; + +export type CLProvinceObject = { + id: string; + name: string; + communes: { + [key: string]: CLCommune; + }; +}; + +export type CLProvinceArray = { + id: string; + name: string; + communes: CLCommune[]; +}; + +export type CLCommune = { + id: string; + name: string; +}; + +export const dataObject: CLCountryObject = object; +export const dataArray: CLCountryArray = array; diff --git a/packages/data/package.json b/packages/data/package.json index 4b4b1f3..14086c5 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -4,14 +4,19 @@ "description": "Paquete de datos para regiones de Chile, proporcionando acceso a información estructurada en formato JSON, CSV y SQL", "type": "module", "main": "dist/index.js", - "types": "dist/index.d.ts", "homepage": "https://github.com/piperubio/clregions", "bugs": { "url": "https://github.com/piperubio/clregions/issues" }, "repository": "github:piperubio/clregions", "scripts": { - "build": "tsup index.ts" + "build": "tsup index.ts --format esm --dts", + "format": "biome format --write *.ts", + "check": "biome check *.ts", + "lint": "tsc", + "clean": "rm -rf dist", + "ci": "npm run clean && npm run build && npm run check && npm run check-exports && npm run lint", + "check-exports": "attw --pack . --ignore-rules=cjs-resolves-to-esm" }, "keywords": [ "chile", @@ -30,9 +35,10 @@ "typescript": "^5.7.3" }, "files": [ - "dist" + "dist/*" ], "devDependencies": { - "@clregions/tsconfig": "^1.0.0" + "@arethetypeswrong/cli": "^0.17.3", + "@clregions/tsconfig": "workspace:*" } } \ No newline at end of file diff --git a/packages/data/tsconfig.json b/packages/data/tsconfig.json new file mode 100644 index 0000000..7b81274 --- /dev/null +++ b/packages/data/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@clregions/tsconfig/base.json", + "compilerOptions": { + "module": "nodenext", + "resolveJsonModule": true, + "noEmit": true + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e417388..c740cad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,9 +21,6 @@ importers: '@changesets/cli': specifier: ^2.26.0 version: 2.27.11 - '@clregions/data': - specifier: workspace:* - version: link:../data '@clregions/tsconfig': specifier: workspace:* version: link:../tsconfig @@ -73,21 +70,33 @@ importers: specifier: ^5.7.3 version: 5.7.3 devDependencies: + '@arethetypeswrong/cli': + specifier: ^0.17.3 + version: 0.17.3 '@clregions/tsconfig': - specifier: ^0.1.0 - version: 0.1.0 + specifier: workspace:* + version: link:../tsconfig packages/tsconfig: devDependencies: - '@changesets/cli': - specifier: ^2.26.0 - version: 2.27.11 '@tsconfig/node20': specifier: ^20.1.4 version: 20.1.4 packages: + '@andrewbranch/untar.js@1.0.3': + resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} + + '@arethetypeswrong/cli@0.17.3': + resolution: {integrity: sha512-wI9ZSTweunmzHboSyYtWRFpba9fM9mpX1g7EUoRr+86zHSd7NR7svb6EmJD2hv1V+SoisB2fERu6EQGGEfQ8oQ==} + engines: {node: '>=18'} + hasBin: true + + '@arethetypeswrong/core@0.17.3': + resolution: {integrity: sha512-2TB7O5JmC7UX7QHRGGftxRVQjV4Ce6oOIDGIDDERyT9dQ8lK/tRGfFubzO80rWeXm/gSrA8jirlXSWSE1i5ynQ==} + engines: {node: '>=18'} + '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} @@ -203,8 +212,9 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} - '@clregions/tsconfig@0.1.0': - resolution: {integrity: sha512-TQzGxqiL2qKaa1yhe9EeZbm8ozdLo0KDmYXMEU4INsz7ezINgLRGWAznr6KJC2uje0du5wFlDsoUQabi4KmifQ==} + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -801,6 +811,10 @@ packages: cpu: [x64] os: [win32] + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -938,6 +952,10 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1041,9 +1059,17 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + changeset@0.2.6: resolution: {integrity: sha512-d21ym9zLPOKMVhIa8ulJo5IV3QR2NNdK6BWuwg48qJA0XSQaMeDjo1UGThcTn7YDmU08j3UpKyFNvb3zplk8mw==} + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -1062,6 +1088,18 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1076,6 +1114,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -1145,10 +1187,17 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -1254,6 +1303,9 @@ packages: picomatch: optional: true + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1351,6 +1403,9 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -1528,11 +1583,22 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + marked-terminal@7.2.1: + resolution: {integrity: sha512-rQ1MoMFXZICWNsKMiiHwP/Z+92PLKskTPXj+e7uwXmuMPkNn7iTqC+IvDekVm1MPeC9wYQeLxeFaOvudRR/XbQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <15' + marked@4.3.0: resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} hasBin: true + marked@9.1.6: + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} + hasBin: true + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -1593,6 +1659,10 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -1665,6 +1735,15 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1848,6 +1927,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -1923,6 +2006,10 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-hyperlinks@3.1.0: + resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} + engines: {node: '>=14.18'} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -2064,6 +2151,11 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.7.3: resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} @@ -2086,6 +2178,10 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -2100,6 +2196,10 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + vite-node@0.28.5: resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} engines: {node: '>=v14.16.0'} @@ -2225,6 +2325,28 @@ packages: snapshots: + '@andrewbranch/untar.js@1.0.3': {} + + '@arethetypeswrong/cli@0.17.3': + dependencies: + '@arethetypeswrong/core': 0.17.3 + chalk: 4.1.2 + cli-table3: 0.6.5 + commander: 10.0.1 + marked: 9.1.6 + marked-terminal: 7.2.1(marked@9.1.6) + semver: 7.6.3 + + '@arethetypeswrong/core@0.17.3': + dependencies: + '@andrewbranch/untar.js': 1.0.3 + cjs-module-lexer: 1.4.1 + fflate: 0.8.2 + lru-cache: 10.4.3 + semver: 7.6.3 + typescript: 5.6.1-rc + validate-npm-package-name: 5.0.1 + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 @@ -2408,7 +2530,8 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@clregions/tsconfig@0.1.0': {} + '@colors/colors@1.5.0': + optional: true '@cspotcode/source-map-support@0.8.1': dependencies: @@ -2777,6 +2900,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.30.1': optional: true + '@sindresorhus/is@4.6.0': {} + '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -2956,6 +3081,10 @@ snapshots: ansi-colors@4.1.3: {} + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -3056,11 +3185,15 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.4.1: {} + changeset@0.2.6: dependencies: udc: 1.0.1 underscore: 1.13.7 + char-regex@1.0.2: {} + chardet@0.7.0: {} check-error@1.0.3: @@ -3085,6 +3218,23 @@ snapshots: ci-info@3.9.0: {} + cjs-module-lexer@1.4.1: {} + + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 @@ -3102,6 +3252,8 @@ snapshots: color-name@1.1.4: {} + commander@10.0.1: {} + commander@4.1.1: {} concat-map@0.0.1: {} @@ -3150,11 +3302,15 @@ snapshots: emoji-regex@9.2.2: {} + emojilib@2.4.0: {} + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + environment@1.1.0: {} + esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -3356,6 +3512,8 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fflate@0.8.2: {} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -3469,6 +3627,8 @@ snapshots: has-flag@4.0.0: {} + highlight.js@10.7.3: {} + html-escaper@2.0.2: {} human-id@1.0.2: {} @@ -3612,8 +3772,21 @@ snapshots: make-error@1.3.6: {} + marked-terminal@7.2.1(marked@9.1.6): + dependencies: + ansi-escapes: 7.0.0 + ansi-regex: 6.1.0 + chalk: 5.4.1 + cli-highlight: 2.1.11 + cli-table3: 0.6.5 + marked: 9.1.6 + node-emoji: 2.2.0 + supports-hyperlinks: 3.1.0 + marked@4.3.0: {} + marked@9.1.6: {} + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -3666,6 +3839,13 @@ snapshots: neo-async@2.6.2: {} + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + normalize-path@3.0.0: {} npm-run-path@4.0.1: @@ -3731,6 +3911,14 @@ snapshots: dependencies: callsites: 3.1.0 + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -3883,6 +4071,10 @@ snapshots: signal-exit@4.1.0: {} + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + slash@3.0.0: {} slice-ansi@5.0.0: @@ -3958,6 +4150,11 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-hyperlinks@3.1.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + term-size@2.2.1: {} test-exclude@6.0.0: @@ -4103,6 +4300,8 @@ snapshots: typescript@4.9.5: {} + typescript@5.6.1-rc: {} + typescript@5.7.3: {} udc@1.0.1: {} @@ -4116,6 +4315,8 @@ snapshots: undici-types@5.26.5: {} + unicode-emoji-modifier-base@1.0.0: {} + universalify@0.1.2: {} uri-js@4.4.1: @@ -4130,6 +4331,8 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + validate-npm-package-name@5.0.1: {} + vite-node@0.28.5(@types/node@18.19.70): dependencies: cac: 6.7.14 From 3e093af9c6733b45e9804c070c70ebc08a6a9f8c Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 17:40:38 +0000 Subject: [PATCH 11/13] docs(changeset): Fix territorial data, add types --- .changeset/fresh-roses-appear.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fresh-roses-appear.md diff --git a/.changeset/fresh-roses-appear.md b/.changeset/fresh-roses-appear.md new file mode 100644 index 0000000..c12d3d8 --- /dev/null +++ b/.changeset/fresh-roses-appear.md @@ -0,0 +1,5 @@ +--- +"@clregions/data": major +--- + +Fix territorial data, add types From d91ce48d04a281c50586d8fa9469f93170c1a8ac Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 17:44:49 +0000 Subject: [PATCH 12/13] RELEASING: Releasing 1 package(s) Releases: @clregions/data@1.0.0 [skip ci] --- .changeset/fresh-roses-appear.md | 5 ----- packages/data/CHANGELOG.md | 22 ++++++++++++++++++++++ packages/data/package.json | 2 +- 3 files changed, 23 insertions(+), 6 deletions(-) delete mode 100644 .changeset/fresh-roses-appear.md create mode 100644 packages/data/CHANGELOG.md diff --git a/.changeset/fresh-roses-appear.md b/.changeset/fresh-roses-appear.md deleted file mode 100644 index c12d3d8..0000000 --- a/.changeset/fresh-roses-appear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@clregions/data": major ---- - -Fix territorial data, add types diff --git a/packages/data/CHANGELOG.md b/packages/data/CHANGELOG.md new file mode 100644 index 0000000..b2811bc --- /dev/null +++ b/packages/data/CHANGELOG.md @@ -0,0 +1,22 @@ +# @clregions/data + +## 1.0.0 + +### Major Changes + +- 3e093af: Fix territorial data for Chile's regions, provinces and communes. Major changes include: + + - Add data in multiple formats: + + - CSV files (regions, provinces, communes) + - SQL files with tables and data + - JSON files (as object and array) + - TypeScript/JavaScript library + + - Add TypeScript types for both object and array data structures + - CLCountryObject & CLCountryArray + - CLRegionObject & CLRegionArray + - CLProvinceObject & CLProvinceArray + - CLCommune + + The package is now available on npm as @clregions/data diff --git a/packages/data/package.json b/packages/data/package.json index 14086c5..09de44c 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@clregions/data", - "version": "0.1.0", + "version": "1.0.0", "description": "Paquete de datos para regiones de Chile, proporcionando acceso a información estructurada en formato JSON, CSV y SQL", "type": "module", "main": "dist/index.js", From 41bb77e2bf2235a7f2a339c6ae1e00d0b8c9784a Mon Sep 17 00:00:00 2001 From: krouw Date: Sun, 19 Jan 2025 17:47:15 +0000 Subject: [PATCH 13/13] chore(changelog): add data for Chile's regions, provinces, and communes --- packages/data/CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/data/CHANGELOG.md b/packages/data/CHANGELOG.md index b2811bc..28fd115 100644 --- a/packages/data/CHANGELOG.md +++ b/packages/data/CHANGELOG.md @@ -20,3 +20,11 @@ - CLCommune The package is now available on npm as @clregions/data + +## 0.1.0 + +### Minor Changes + +- ed92ca4: Add data for Chile's regions, provinces and communes. Minor changes include: + + - JSON file as object