# *-- Dependencias. import os import pandas as pd # * -- Variables globales. matriz_datos: list = [] """ [Id Empresa,Nombre Empresa,Pais,Fundacion,Industria,Empleados,Ingresos Anuales(USD MM),Gastos Anuales(USD MM)] """ # *-- Funciones. def leer_archivo(nombre_archivo: str) -> None: Archivo = open(nombre_archivo, "rt", encoding="utf-8") num_linea = 0 for linea in Archivo: # Limpiar el ultimo salto de linea. linea = linea.strip() fila = linea.split(",") # Omitir la primera fila del archivo, para no almacenar las cabeceras en la matriz de datos. if (num_linea == 0): num_linea += 1 continue # Reemplazar los valores vacíos de la columna [Pais] por "SIN DATOS" """1a. Cambie todos los valores vacíos de la columna [Pais] por "SIN DATOS""" if (fila[2] == ""): fila[2] = "SIN DATOS" """1c. Remueva el símbolo "$" de las columnas [Ingresos Anuales(USD MM)] y [Gastos Anuales(USDMM)]. Puede cambiar el nombre de las columnas""" fila[6] = fila[6].replace("$", "") fila[7] = fila[7].replace("$", "") # Identificar las filas que no tienen datos vacios. """1b. Remueva todas las filas que tengan algún valor vacío.""" if not ("" in fila): matriz_datos.append(list(fila)) else: print(f"[!] Fila con datos vacios: \n{fila}") # Iteracion num_linea += 1 Archivo.close() # * -- Funciones de uso general para el programa. def mostrar_datos() -> None: print("Datos del archivo".center(50, "=")) num = 0 for fila in matriz_datos: print(f"{num} - {fila}") num += 1 # df = pd.DataFrame(matriz_datos) # print(df.describe()) def analisis_archivo() -> None: print("[*] Analizando el archivo de datos...") # Leer el archivo de datos. nombre_archivo = "1_EmpresasInversiones_One.csv" leer_archivo(nombre_archivo) mostrar_datos() # Temporal, para que no se limpie la pantalla al terminar de leer el archivo. input("[>] Presione enter para continuar...") def analitica_1() -> None: print("[*] Analítica de datos 1...") input("[>] Presione enter para continuar...") # Temporal. def analitica_2() -> None: print("[*] Analítica de datos 2...") input("[>] Presione enter para continuar...") # Temporal. def limpiar_pantalla() -> None: os.system('cls' if os.name == 'nt' else 'clear') def salir() -> None: print("[*] Saliendo del programa...") exit(0) def menu_principal() -> None: while True: limpiar_pantalla() print("✨ Menú principal ✨".center(50, "=")) print("[1] Análisis del archivo de datos.") print("[2] Analítica de datos 1") print("[3] Analítica de datos 2") print("[4] Salir") print() opcion = input("[>] Ingrese una opcion: ") # Evaluar la opción ingresada. if (opcion == "1"): analisis_archivo() elif (opcion == "2"): analitica_1() elif (opcion == "3"): analitica_2() elif (opcion == "4"): break else: print("[🥺] Opción inválida!") salir() def main() -> None: menu_principal() # *-- Ejecución. if (__name__ == '__main__'): main()