Untitled
unknown
plain_text
2 years ago
3.0 kB
1
Indexable
Never
import csv #EJERCICIO 1 def obtener_equipos(csv_reader: csv) -> list[ str ]: ''' Obtenemos todos los equipos diferentes del archivo CSV. ''' equipos = [] cursor: int = 0 ''' Guardo las posiciones donde se encuentra este equipo en el fichero csv para hacer los siguientes pasos de forma más eficiente. ''' lineas_equipo: dict[equipos : str] = [] for row in csv_reader: if cursor == 0: ''' No procesamos la primera línea del CSV pues contiene los nombres de las columnas. ''' cursor += 1 continue for i in range(0,2): if row[i] not in equipos: equipos.append(row[i]) #(equipos.append(row[i] ) for i in row[0:1] if row[i] not in equipos) cursor += 1 return equipos, lineas_equipo def obtener_resultados(equipo: str, lineas: list[ list [ str ]]) -> list[ str ]: resultados: list[ str ] = [] for linea in lineas: if linea == linea[0]: resultados.append(linea[2]) return resultados def obtener_contrincantes(equipo: str, row: list[ str ]) -> list[ str ]: contrincantes: list[ str ] = [] return contrincantes def obtener_diccionario(equipo: str, csv_reader: csv, equipos: list[ str ]) -> dict: diccionario_equipo: dict[str : list[ str ]] = {} contrincantes_lineas: list[ str ] = [] for row in csv_reader: for i in range(0,1): if row[i] == equipo: row_aux = row row.remove(i) contrincantes_lineas.append(row_aux) for equipo_2 in equipos: diccionario_equipo[equipo_2] = obtener_resultados(equipo_2, contrincantes_lineas ) return diccionario_equipo def ej_1 (ruta: str) -> dict[ str : dict[ str : list[ str ] ] ]: with open("prueba.csv", encoding = "utf_8") as file: csv_reader: csv = csv.reader( file, delimiter = ',') equipos: list = obtener_equipos(csv_reader) dict_return: str = {} for equipo in equipos: dict_return[equipo] = obtener_diccionario(equipo, csv_reader, equipos ) #obtener_contrincantes(equipo, csv_reader) #resultados: dict = obtener_resultados(equipo, csv_reader) dict_return[equipo] = obtener_diccionario(equipo, csv_reader, equipos) pass file.close() return dict_return #EJERCICIO 2 def probabilidad_victoria(diccionario: dict, seleccion: str, contrincante: str): pass #EJERCICIO 3 class Partido(): pass