Lo nuevo#
De forma rápida, los datos procesados.
### Los paquetes amigos
import os, os.path
from IPython.display import Markdown, HTML, Javascript, IFrame
import pandas as pd
import session_info
from bs4 import BeautifulSoup
import numpy as np
from markdownify import markdownify as md
from natsort import natsorted
Archivos CSV#
%%capture archivocsv
### Mostrando archivos CSV
### Ser perfeccionista es terrible ###
datas = [name for name in os.listdir('./../../out/site/csv')]
datas = natsorted(datas)
datas = datas[-1:] + datas[:-1]
for string in datas:
### Título
display(Markdown('<a style="font-size:18px" href="https://raw.githubusercontent.com/pandemiaventana/pandemiaventana/main/out/site/csv/{}">"{}"</a>'.format(string, string.upper())))
### Leemos
csv = pd.read_csv('./../../out/site/csv/{}'.format(string))
### Info de pandas
display(Markdown('Tiene las siguientes columnas (**{}** sin el índice):'.format(len(csv.columns) - 1)))
for col in csv.columns:
display(Markdown('- ' + col + ' con **{}** datos válidos.'.format(len(csv.index) - csv[col].isnull().sum())))
display(Markdown('<hr>'))
### Visualizamos
for outputs in archivocsv.outputs:
display(outputs)
Tiene las siguientes columnas (156 sin el índice):
Fecha con 1475 datos válidos.
Casos confirmados acumulados con 1186 datos válidos.
Casos recuperados acumulados con 1151 datos válidos.
Casos fallecidos acumulados con 1167 datos válidos.
Casos activos confirmados con 1166 datos válidos.
Casos activos probables con 1076 datos válidos.
Casos nuevos con 1186 datos válidos.
Casos nuevos con sintomas con 1186 datos válidos.
Casos nuevos sin sintomas con 1129 datos válidos.
Casos nuevos por laboratorio con 1079 datos válidos.
Casos nuevos por antigeno con 827 datos válidos.
Casos con sospecha de reinfeccion con 827 datos válidos.
Casos recuperados nuevos con 1150 datos válidos.
Casos fallecidos nuevos con 1166 datos válidos.
Antigenos informados nuevos con 727 datos válidos.
Antigenos informados acumulados con 727 datos válidos.
PCR informados nuevos con 1141 datos válidos.
PCR informados acumulados con 1141 datos válidos.
Cupos en residencias con 1098 datos válidos.
Usuarios en residencias con 1098 datos válidos.
Numero de residencias con 1098 datos válidos.
UCI habilitadas con 981 datos válidos.
UCI ocupadas por confirmados con 1157 datos válidos.
UCI ocupadas por no confirmados con 981 datos válidos.
UCI ocupacion media movil real con 975 datos válidos.
Re regional con 1114 datos válidos.
Re Iquique con 1109 datos válidos.
Re Tamarugal con 1109 datos válidos.
Positividad diaria con 1141 datos válidos.
Vacunados acumulados 1° dosis con 777 datos válidos.
Vacunados acumulados 2° dosis con 777 datos válidos.
Vacunados acumulados unica dosis con 777 datos válidos.
Vacunados acumulados dosis de refuerzo con 777 datos válidos.
Vacunados acumulados 4° dosis con 777 datos válidos.
Casos acumulados en Alto Hospicio con 289 datos válidos.
Casos acumulados en Camiña con 289 datos válidos.
Casos acumulados en Colchane con 289 datos válidos.
Casos acumulados en Huara con 289 datos válidos.
Casos acumulados en Iquique con 289 datos válidos.
Casos acumulados en Pica con 289 datos válidos.
Casos acumulados en Pozo Almonte con 289 datos válidos.
Casos acumulados en Comuna desconocida con 263 datos válidos.
Casos activos en Alto Hospicio con 283 datos válidos.
Casos activos en Camiña con 283 datos válidos.
Casos activos en Colchane con 283 datos válidos.
Casos activos en Huara con 283 datos válidos.
Casos activos en Iquique con 283 datos válidos.
Casos activos en Pica con 283 datos válidos.
Casos activos en Pozo Almonte con 283 datos válidos.
Casos activos en Comuna desconocida con 263 datos válidos.
Paso a Paso Alto Hospicio con 625 datos válidos.
Paso a Paso Camiña con 625 datos válidos.
Paso a Paso Colchane con 625 datos válidos.
Paso a Paso Huara con 625 datos válidos.
Paso a Paso Iquique con 625 datos válidos.
Paso a Paso Pica con 625 datos válidos.
Paso a Paso Pozo Almonte con 625 datos válidos.
Paso a Paso (dias) Alto Hospicio con 833 datos válidos.
Paso a Paso (dias) Camiña con 833 datos válidos.
Paso a Paso (dias) Colchane con 833 datos válidos.
Paso a Paso (dias) Huara con 833 datos válidos.
Paso a Paso (dias) Iquique con 833 datos válidos.
Paso a Paso (dias) Pica con 833 datos válidos.
Paso a Paso (dias) Pozo Almonte con 833 datos válidos.
Movilidad Iquique con 843 datos válidos.
Movilidad Pica con 843 datos válidos.
Movilidad Alto Hospicio con 843 datos válidos.
Movilidad Pozo almonte con 843 datos válidos.
Movilidad Huara con 843 datos válidos.
Notificacion PCR Alto Hospicio con 765 datos válidos.
Notificacion PCR Camiña con 765 datos válidos.
Notificacion PCR Colchane con 765 datos válidos.
Notificacion PCR Huara con 758 datos válidos.
Notificacion PCR Iquique con 765 datos válidos.
Notificacion PCR Pica con 765 datos válidos.
Notificacion PCR Pozo Almonte con 765 datos válidos.
BAC Alto Hospicio con 765 datos válidos.
BAC Camiña con 765 datos válidos.
BAC Colchane con 765 datos válidos.
BAC Huara con 758 datos válidos.
BAC Iquique con 765 datos válidos.
BAC Pica con 765 datos válidos.
BAC Pozo Almonte con 765 datos válidos.
Positividad Alto Hospicio con 765 datos válidos.
Positividad Camiña con 765 datos válidos.
Positividad Colchane con 765 datos válidos.
Positividad Huara con 758 datos válidos.
Positividad Iquique con 765 datos válidos.
Positividad Pica con 765 datos válidos.
Positividad Pozo Almonte con 765 datos válidos.
Cobertura de testeo Alto Hospicio con 765 datos válidos.
Cobertura de testeo Camiña con 765 datos válidos.
Cobertura de testeo Colchane con 765 datos válidos.
Cobertura de testeo Huara con 758 datos válidos.
Cobertura de testeo Iquique con 765 datos válidos.
Cobertura de testeo Pica con 765 datos válidos.
Cobertura de testeo Pozo Almonte con 765 datos válidos.
Oportunidad en notificacion Alto Hospicio con 765 datos válidos.
Oportunidad en notificacion Camiña con 765 datos válidos.
Oportunidad en notificacion Colchane con 765 datos válidos.
Oportunidad en notificacion Huara con 758 datos válidos.
Oportunidad en notificacion Iquique con 765 datos válidos.
Oportunidad en notificacion Pica con 765 datos válidos.
Oportunidad en notificacion Pozo Almonte con 765 datos válidos.
Fallecidos Alto Hospicio con 0 datos válidos.
Fallecidos Camiña con 0 datos válidos.
Fallecidos Colchane con 0 datos válidos.
Fallecidos Huara con 0 datos válidos.
Fallecidos Iquique con 0 datos válidos.
Fallecidos Pica con 0 datos válidos.
Fallecidos Pozo Almonte con 0 datos válidos.
Fallecidos Comuna desconocida con 0 datos válidos.
Fallecidos total comunal con 0 datos válidos.
Fallecidos confirmados DEIS Alto Hospicio con 855 datos válidos.
Fallecidos confirmados DEIS Camiña con 855 datos válidos.
Fallecidos confirmados DEIS Colchane con 855 datos válidos.
Fallecidos confirmados DEIS Huara con 855 datos válidos.
Fallecidos confirmados DEIS Iquique con 855 datos válidos.
Fallecidos confirmados DEIS Pica con 855 datos válidos.
Fallecidos confirmados DEIS Pozo Almonte con 855 datos válidos.
Fallecidos probables DEIS Alto Hospicio con 855 datos válidos.
Fallecidos probables DEIS Camiña con 855 datos válidos.
Fallecidos probables DEIS Colchane con 855 datos válidos.
Fallecidos probables DEIS Huara con 855 datos válidos.
Fallecidos probables DEIS Iquique con 855 datos válidos.
Fallecidos probables DEIS Pica con 855 datos válidos.
Fallecidos probables DEIS Pozo Almonte con 855 datos válidos.
Incidencia regional estimada con 1090 datos válidos.
Incidencia Iquique estimada con 1085 datos válidos.
Incidencia Tamarugal estimada con 1085 datos válidos.
Tasa de casos nuevos Iquique estimada con 1079 datos válidos.
Tasa de casos nuevos Tamarugal estimada con 1079 datos válidos.
Incidencia acumulada Alto Hospicio con 289 datos válidos.
Incidencia acumulada Camina con 289 datos válidos.
Incidencia acumulada Colchane con 289 datos válidos.
Incidencia acumulada Huara con 289 datos válidos.
Incidencia acumulada Iquique con 289 datos válidos.
Incidencia acumulada Pica con 289 datos válidos.
Incidencia acumulada Pozo Almonte con 289 datos válidos.
Incidencia acumulada regional con 289 datos válidos.
Positividad media movil * con 1123 datos válidos.
Mortalidad especifica * con 1167 datos válidos.
Crecimiento semanal * con 1166 datos válidos.
Crecimiento diario * con 1165 datos válidos.
UCI ocupacion media movil aprox * con 1138 datos válidos.
UCI error abs * con 975 datos válidos.
Tasa casos nuevos * con 1180 datos válidos.
Positividad antigeno * con 727 datos válidos.
Positividad antigeno media movil * con 721 datos válidos.
Mortalidad especifica comunal Alto Hospicio * con 855 datos válidos.
Mortalidad especifica comunal Camiña * con 855 datos válidos.
Mortalidad especifica comunal Colchane * con 855 datos válidos.
Mortalidad especifica comunal Huara * con 855 datos válidos.
Mortalidad especifica comunal Iquique * con 855 datos válidos.
Mortalidad especifica comunal Pica * con 855 datos válidos.
Mortalidad especifica comunal Pozo Almonte * con 855 datos válidos.
Tasa de activos (incidencia) * con 1166 datos válidos.
Tiene las siguientes columnas (3 sin el índice):
Fecha con 1050 datos válidos.
Casos nuevos históricos con 1049 datos válidos.
Recuperados nuevos históricos con 1013 datos válidos.
Fallecidos nuevos históricos con 1029 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 940 datos válidos.
Casos activos confirmados con 939 datos válidos.
Casos activos probables con 939 datos válidos.
Tiene las siguientes columnas (4 sin el índice):
Fecha con 1050 datos válidos.
Casos confirmados acumulados con 1049 datos válidos.
Casos recuperados acumulados con 1014 datos válidos.
Casos activos confirmados con 1029 datos válidos.
Casos fallecidos acumulados con 1030 datos válidos.
Tiene las siguientes columnas (3 sin el índice):
Fecha con 1050 datos válidos.
Media móvil semanal de casos nuevos con 1043 datos válidos.
Media móvil semanal de recuperados nuevos con 1007 datos válidos.
Media móvil semanal de fallecidos nuevos con 1023 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
Positividad diaria con 1004 datos válidos.
Positividad media movil * con 986 datos válidos.
Tiene las siguientes columnas (3 sin el índice):
Fecha con 1050 datos válidos.
Re regional con 1023 datos válidos.
Re Iquique con 1018 datos válidos.
Re Tamarugal con 1018 datos válidos.
Tiene las siguientes columnas (8 sin el índice):
Fecha con 1050 datos válidos.
Incidencia acumulada Alto Hospicio con 290 datos válidos.
Incidencia acumulada Camina con 290 datos válidos.
Incidencia acumulada Colchane con 290 datos válidos.
Incidencia acumulada Huara con 290 datos válidos.
Incidencia acumulada Iquique con 290 datos válidos.
Incidencia acumulada Pica con 290 datos válidos.
Incidencia acumulada Pozo Almonte con 290 datos válidos.
Incidencia acumulada regional con 290 datos válidos.
Tiene las siguientes columnas (3 sin el índice):
Fecha con 1050 datos válidos.
Incidencia regional estimada con 999 datos válidos.
Incidencia Iquique estimada con 994 datos válidos.
Incidencia Tamarugal estimada con 994 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
Tasa de casos nuevos Iquique estimada con 988 datos válidos.
Tasa de casos nuevos Tamarugal estimada con 988 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
Crecimiento diario * con 1028 datos válidos.
Crecimiento semanal * con 1029 datos válidos.
Tiene las siguientes columnas (8 sin el índice):
Fecha con 1050 datos válidos.
Casos acumulados en Alto Hospicio con 290 datos válidos.
Casos acumulados en Camiña con 290 datos válidos.
Casos acumulados en Colchane con 290 datos válidos.
Casos acumulados en Huara con 290 datos válidos.
Casos acumulados en Iquique con 290 datos válidos.
Casos acumulados en Pica con 290 datos válidos.
Casos acumulados en Pozo Almonte con 290 datos válidos.
Casos acumulados en Comuna desconocida con 264 datos válidos.
Tiene las siguientes columnas (7 sin el índice):
Fecha con 1050 datos válidos.
Positividad Alto Hospicio con 765 datos válidos.
Positividad Camiña con 765 datos válidos.
Positividad Colchane con 765 datos válidos.
Positividad Huara con 758 datos válidos.
Positividad Iquique con 765 datos válidos.
Positividad Pica con 765 datos válidos.
Positividad Pozo Almonte con 765 datos válidos.
Tiene las siguientes columnas (9 sin el índice):
Fecha con 1050 datos válidos.
Casos activos en Alto Hospicio con 284 datos válidos.
Casos activos en Camiña con 284 datos válidos.
Casos activos en Colchane con 284 datos válidos.
Casos activos en Huara con 284 datos válidos.
Casos activos en Iquique con 284 datos válidos.
Casos activos en Pica con 284 datos válidos.
Casos activos en Pozo Almonte con 284 datos válidos.
Casos activos en Comuna desconocida con 264 datos válidos.
Tasa de activos (incidencia) * con 1029 datos válidos.
Tiene las siguientes columnas (9 sin el índice):
Fecha con 1050 datos válidos.
Fallecidos Alto Hospicio con 942 datos válidos.
Fallecidos Camiña con 942 datos válidos.
Fallecidos Colchane con 942 datos válidos.
Fallecidos Huara con 942 datos válidos.
Fallecidos Iquique con 942 datos válidos.
Fallecidos Pica con 942 datos válidos.
Fallecidos Pozo Almonte con 942 datos válidos.
Fallecidos Comuna desconocida con 935 datos válidos.
Fallecidos total comunal con 942 datos válidos.
Tiene las siguientes columnas (7 sin el índice):
Fecha con 1050 datos válidos.
Fallecidos confirmados DEIS Alto Hospicio con 855 datos válidos.
Fallecidos confirmados DEIS Camiña con 855 datos válidos.
Fallecidos confirmados DEIS Colchane con 855 datos válidos.
Fallecidos confirmados DEIS Huara con 855 datos válidos.
Fallecidos confirmados DEIS Iquique con 855 datos válidos.
Fallecidos confirmados DEIS Pica con 855 datos válidos.
Fallecidos confirmados DEIS Pozo Almonte con 855 datos válidos.
Tiene las siguientes columnas (7 sin el índice):
Fecha con 1050 datos válidos.
Fallecidos probables DEIS Alto Hospicio con 855 datos válidos.
Fallecidos probables DEIS Camiña con 855 datos válidos.
Fallecidos probables DEIS Colchane con 855 datos válidos.
Fallecidos probables DEIS Huara con 855 datos válidos.
Fallecidos probables DEIS Iquique con 855 datos válidos.
Fallecidos probables DEIS Pica con 855 datos válidos.
Fallecidos probables DEIS Pozo Almonte con 855 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
Media móvil real de ocupación UCI con 975 datos válidos.
Media móvil hipotética de ocupación UCI con 1001 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
Cupos en residencias con 961 datos válidos.
Usuarios en residencias con 961 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
PCR informados nuevos con 1004 datos válidos.
Media móvil semanal de PCR informados nuevos con 997 datos válidos.
Tiene las siguientes columnas (2 sin el índice):
Fecha con 1050 datos válidos.
Antígenos informados nuevos con 590 datos válidos.
Media móvil semanal de antígenos informados nuevos con 584 datos válidos.
Tiene las siguientes columnas (4 sin el índice):
Fecha con 1050 datos válidos.
Casos nuevos con síntomas con 1049 datos válidos.
Casos nuevos sin síntomas con 992 datos válidos.
Casos nuevos por laboratorio con 942 datos válidos.
Casos nuevos por antígeno con 690 datos válidos.
Tiene las siguientes columnas (1 sin el índice):
Fecha con 1050 datos válidos.
Casos con sospecha de reinfección con 690 datos válidos.
Tiene las siguientes columnas (1 sin el índice):
Fecha con 1050 datos válidos.
Tasa de casos nuevos de casos nuevos por cien mil habitantes con 1043 datos válidos.
Tiene las siguientes columnas (1 sin el índice):
Fecha con 1050 datos válidos.
Tasa de activos (incidencia) con 1029 datos válidos.
Tiene las siguientes columnas (1 sin el índice):
Fecha con 1050 datos válidos.
Mortalidad específica por cien mil habitantes con 1030 datos válidos.
Tiene las siguientes columnas (7 sin el índice):
Fecha con 1050 datos válidos.
Mortalidad especifica comunal Alto Hospicio * con 855 datos válidos.
Mortalidad especifica comunal Camiña * con 855 datos válidos.
Mortalidad especifica comunal Colchane * con 855 datos válidos.
Mortalidad especifica comunal Huara * con 855 datos válidos.
Mortalidad especifica comunal Iquique * con 855 datos válidos.
Mortalidad especifica comunal Pica * con 855 datos válidos.
Mortalidad especifica comunal Pozo Almonte * con 855 datos válidos.
Tiene las siguientes columnas (5 sin el índice):
Fecha con 1050 datos válidos.
Vacunados acumulados 1° dosis con 746 datos válidos.
Vacunados acumulados 2° dosis con 746 datos válidos.
Vacunados acumulados unica dosis con 746 datos válidos.
Vacunados acumulados dosis de refuerzo con 746 datos válidos.
Vacunados acumulados 4° dosis con 746 datos válidos.
Salida para Markdown#
txt1 = '''# La pandemia por la ventana \n

*Ilustración por Bernardo Dinamarca*
## Intro
[La pandemia por la ventana es un sitio](https://pandemiaventana.github.io/pandemiaventana/), realizado con formato de *libro* gracias a Jupyter Books, hecho por Alejandro Dinamarca, que recaba el trabajo de Numeral.lab en la Región de Tarapacá.
La página posee los siguientes ejes:
- Reunir antecedentes del trabajo de Numeral.lab en la Región de Tarapacá en la pandemia del COVID-19.
- Recopilar experiencias personales de Alejandro Dinamarca en el trabajo voluntario en Numeral.lab.
- Monitoreo de la pandemia del COVID-19 en la Región de Tarapacá de forma automática.
- Recabar información del repositorio del MICITEC en GitHub, específicamente, de la Región de Tarapacá.
- Procesar datos recabados.
- Generar informes (epidemiológicos, avance en campaña de vacunación y predictor de fase del Paso a Paso).
- Generar concientización en ciudadanía bajo tendencias de la pandemia.
> Agradecimientos al Equipo Futuro del MICITEC por la democratización de los datos de la pandemia en Chile, a los desarrolladores de Jupyter Notebook, Jupyter Book y a todas las librerías de Python implicadas en los scripts, como también, a los propios desarrolladores de Python.
Favor, cualquier sugerencia o comentario, hacerlo llegar mediante [Issues de GitHub](https://github.com/pandemiaventana/pandemiaventana/issues/new).
## Funcionamiento
Básicamente, a través de Notebooks de Jupyter y un poco de Markdown. Python, por contraparte, genera los CSV, y Jupyter Books se encarga de generar la página web a partir de los Notebooks y el Markdown.
El despliegue del libro en [gh-pages](https://github.com/pandemiaventana/pandemiaventana/tree/gh-pages) se realiza cada vez que:
- Desencadeno un cambio en [main](https://github.com/pandemiaventana/pandemiaventana)
- Periódicamente desde las 11:30 hrs. a las 19:30 hrs. (hora de Santiago de Chile).
A través del action [actualiza_libro](https://github.com/pandemiaventana/pandemiaventana/actions/workflows/book.yml).
## Estado
[](https://github.com/pandemiaventana/pandemiaventana/actions/workflows/book.yml)
## DOI
[](https://doi.org/10.5281/zenodo.5044609)
## Archivos CSV generados
Disponibles en [el siguiente enlace](https://github.com/pandemiaventana/pandemiaventana/tree/main/out/site/csv), los cuales se adjuntan a continuación:
'''
outputs_ = archivocsv.outputs
vec_out = []
for outs_ in outputs_:
### Convertimos a lista los outputs
vec_out += list(outs_.data.values())
### Nuestro string
vec_ = ''
### Recorremos la lista de outputs
for vec in vec_out:
vec = str(vec)
### Quitamos el str de datos de tabla sin formato
if vec.startswith(" "):
pass
else:
### Quitamos el str del tipo de variable
vec = vec.replace('<IPython.core.display.Markdown object>', '')
### Finalmente, añadimos al vector
vec_ += '<br>' + vec
### Abrimos y modificamos el HTML
with open('../../README.md', 'w', encoding='UTF-8') as f:
f.write(txt1 + vec_)
with open('../6_basedatos/2_basedatos.md', 'w', encoding='UTF-8') as f:
f.write('''# Archivos
''' + vec_)
Archivos PDF#
%%capture archivopdf
### Gracias a Daniel Stutzbach y Bruno Bronosky (stackoverflow.com/a/2632251/13746427) ###
sum_ = []
dirr = ['diario', 'vacuna', 'indicadorfase', 'toquequeda']
names = ['Reporte diario', 'Balance de vacunas', 'Indicador de Fase', 'Toque de queda 00:00 hrs.']
p = 0
for reporte in dirr:
display(Markdown('<h2>{}</h2>'.format(names[p])))
display(Markdown('Encontré los siguientes PDF:'.format(names[p])))
exec('sum_{} = []'.format(reporte))
for string in [name for name in os.listdir('../../out/{}/pdf'.format(reporte))]:
if os.path.isdir('../../out/diario/pdf/{}'.format(string)):
pass
else:
exec('sum_{} += [string]'.format(reporte))
exec('sum_{} = natsorted(sum_{})'.format(reporte, reporte))
exec('''for ipdf in sum_{}:
display(Markdown(" <a href='https://docs.google.com/gview?url=https://github.com/pandemiaventana/pandemiaventana/raw/main/out/" + reporte + "/pdf/" + ipdf + "&embedded=true'>" + ipdf + "</a>"))'''.format(reporte))
p += 1
txt2 = """# Archivo
"""
### Visualizamos
for outputs in archivopdf.outputs:
display(outputs)
Reporte diario
Encontré los siguientes PDF:
Balance de vacunas
Encontré los siguientes PDF:
Indicador de Fase
Encontré los siguientes PDF:
Toque de queda 00:00 hrs.
Encontré los siguientes PDF:
Salida de archivos PDF#
outputs_ = archivopdf.outputs
vec_out = []
for outs_ in outputs_:
### Convertimos a lista los outputs
vec_out += list(outs_.data.values())
### Nuestro string
vec_ = ''
### Recorremos la lista de outputs
for vec in vec_out:
vec = str(vec)
### Quitamos el str de datos de tabla sin formato
if vec.startswith(" "):
pass
else:
### Quitamos el str del tipo de variable
vec = vec.replace('<IPython.core.display.Markdown object>', '')
### Finalmente, añadimos al vector
vec_ += '<br>' + vec
### Abrimos y modificamos el MD
with open('../../page/5_reportes/4_reportes.md', 'w', encoding='UTF-8') as f:
f.write('''# Reportes históricos
A continuación, dispongo los reportes históricos a partir de la fecha de publicación de la página. En caso de requerir otras ediciones, consultar <a href="https://www.instagram.com/numeral.lab/">Instagram</a>.
''' + vec_)
Información de sesión#
session_info.show(cpu=True, jupyter=True, std_lib=True, write_req_file=True, dependencies=True, req_file_name='4_requeriments.txt')
Click to view session information
-----
bs4 4.12.2
markdownify NA
natsort 8.3.1
numpy 1.20.3
os NA
pandas 1.3.4
session_info 1.0.0
-----
Click to view modules imported as dependencies
abc NA
argparse 1.1
array NA
ast NA
asyncio NA
atexit NA
backcall 0.2.0
base64 NA
bdb NA
binascii NA
bisect NA
bz2 NA
cProfile NA
calendar NA
charset_normalizer 2.0.12
cmath NA
cmd NA
code NA
codecs NA
codeop NA
collections NA
colorsys NA
concurrent NA
configparser NA
contextlib NA
contextvars NA
copy NA
copyreg NA
csv 1.0
ctypes 1.1.0
curses NA
cython_runtime NA
dataclasses NA
datetime NA
dateutil 2.8.2
debugpy 1.6.7
decimal 1.70
decorator 5.1.1
difflib NA
dis NA
email NA
encodings NA
entrypoints 0.4
enum NA
errno NA
faulthandler NA
fcntl NA
filecmp NA
fnmatch NA
functools NA
gc NA
genericpath NA
getopt NA
getpass NA
gettext NA
glob NA
grp NA
gzip NA
hashlib NA
heapq NA
hmac NA
html NA
http NA
importlib NA
inspect NA
io NA
ipykernel 6.16.2
itertools NA
jedi 0.18.2
json 2.0.9
keyword NA
linecache NA
locale NA
logging 0.5.1.2
lzma NA
marshal 4
math NA
mimetypes NA
mmap NA
mpl_toolkits NA
multiprocessing NA
ntpath NA
numbers NA
opcode NA
operator NA
packaging 23.1
parso 0.8.3
pathlib NA
pdb NA
pexpect 4.8.0
pickle NA
pickleshare 0.7.5
pkg_resources NA
pkgutil NA
platform 1.0.8
plistlib NA
posix NA
posixpath NA
pprint NA
profile NA
prompt_toolkit 3.0.38
pstats NA
psutil 5.9.5
pty NA
ptyprocess 0.7.0
pwd NA
pydev_ipython NA
pydevconsole NA
pydevd 2.9.5
pydevd_file_utils NA
pydevd_plugins NA
pydevd_tracing NA
pydoc NA
pydoc_data NA
pyexpat NA
pygments 2.15.1
pytz 2023.3
queue NA
quopri NA
random NA
re 2.2.1
reprlib NA
resource NA
runpy NA
secrets NA
select NA
selectors NA
shlex NA
shutil NA
signal NA
site NA
six 1.16.0
socket NA
socketserver 0.4
soupsieve 2.4.1
sphinxcontrib NA
sqlite3 2.6.0
sre_compile NA
sre_constants NA
sre_parse NA
ssl NA
stat NA
storemagic NA
string NA
stringprep NA
struct NA
subprocess NA
sys 3.7.16 (default, Mar 6 2023, 12:45:08)
[GCC 11.3.0]
sysconfig NA
tempfile NA
termios NA
textwrap NA
threading NA
time NA
timeit NA
token NA
tokenize NA
tornado 6.2
traceback NA
traitlets 5.9.0
tty NA
types NA
typing NA
typing_extensions NA
unicodedata NA
urllib NA
uu NA
uuid NA
warnings NA
wcwidth 0.2.6
weakref NA
xml NA
xmlrpc NA
zipfile NA
zipimport NA
zlib 1.0
zmq 25.1.0
-----
IPython 7.34.0
jupyter_client 7.4.9
jupyter_core 4.12.0
-----
Python 3.7.16 (default, Mar 6 2023, 12:45:08) [GCC 11.3.0]
Linux-5.15.0-1037-azure-x86_64-with-debian-bookworm-sid
2 logical CPU cores, x86_64
-----
Session information updated at 2023-06-02 00:04