Código fuente para sisedeinversiones.utils.read_utils
"""
*Class ReadsFiles*
==================
Este método es usado de manera transversal, puesto que se encarga de leer los archivos .csv o .xlsx
que extrae la información de los CUI's almacenados en ellos. Esto es necesario porque se requiere
dichos CUI's para realizar las consultas a las secciones del portal SSI.
"""
import pandas as pd
[documentos]
class ReadsFiles:
def __init__(self, file_read, num_range):
"""La clase se inicializa con los atributos file_read y num_range
Args:
file_read (str): Es la dirección del archvio a leer que puede ser .csv o .xlsx
num_range (str): Aqui indicamos el rango de registros que se tiene que trabajar, bajo el formato "[num_inicio]_[num_fin]", se debe mantener la forma de separar con un guión bajo.
"""
self.file_read = file_read
self.num_range = num_range
[documentos]
def read_file_csv(self):
"""Este método se encarga de leer los archivos .csv para extraer los CUI's, asimismo filtra la cantidad de registros que se trabajará.
Returns:
list: Genera una lista con los CUI's que se trabajarán
"""
start_range, end_range = self.num_range.split("_")
cui0 = pd.read_csv(self.file_read, encoding="latin-1")
# fmt: off
cui1 = cui0["cui"][int(start_range): int(end_range)]
# fmt: on
list_cui = list(map(str, cui1.values.tolist()))
print(f"El total de CUIs a scrapear es: {len(list_cui)}")
return list_cui
[documentos]
def read_file_xlsx(self):
"""Este método se encarga de leer los archivos .xlsx para extraer los CUI's, asimismo filtra la cantidad de registros que se trabajará.
Returns:
list: Genera una lista con los CUI's que se trabajarán
"""
start_range, end_range = self.num_range.split("_")
cui0 = pd.read_excel(self.file_read, encoding="latin-1")
# fmt: off
cui1 = cui0["cui"][int(start_range): int(end_range)]
# fmt: on
list_cui = list(map(str, cui1.values.tolist()))
print(f"El total de CUIs a scrapear es: {len(list_cui)}")
return list_cui