El archivo fifa.csv contiene los resultados de la clasificatoria Rusia 2018.

Leeremos el archivo y realizaremos diccionarios con los puntos, diferencia de goles y goles convertidos, para posteriormente imprimir la tabla de posiciones.


In [1]:
archivo = open("fifa.csv", "r")

In [2]:
archivo.readable()


Out[2]:
True

In [3]:
archivo.read(4)


Out[3]:
'Id;D'

In [4]:
archivo.readline()


Out[4]:
'ay;Day #;Month;Year;Local Time;Played Time;Stadium;Location;Local Team;Visit Team;Local Team Score;Visit Score\n'

In [5]:
puntos = {}
difgoles = {}
golesconv = {}
for i in archivo:
    valores = i.split(";")
    #print(valores[9], valores[10])
    
    if valores[9] not in puntos.keys():
        puntos[valores[9]] = 0
        difgoles[valores[9]] = 0
        golesconv[valores[9]] = 0
    if valores[10] not in puntos.keys():
        puntos[valores[10]] = 0
        difgoles[valores[10]] = 0
        golesconv[valores[10]] = 0
        
    goleslocal = int(valores[11])
    golesvisita = int(valores[12])
    
    if goleslocal > golesvisita:
        puntos[valores[9]] += 3
    elif goleslocal == golesvisita:
        puntos[valores[9]] += 1
        puntos[valores[10]] += 1
    else:
        puntos[valores[10]] += 3 
        
    golesconv[valores[9]] += goleslocal
    golesconv[valores[10]] += golesvisita
    difgoles[valores[9]] += (goleslocal-golesvisita)
    difgoles[valores[10]] += (golesvisita-goleslocal)

In [6]:
indicadores = {}
for i in puntos.keys():
    indicadores[i] = puntos[i] * 10000 + difgoles[i] * 100 + golesconv[i]

In [7]:
indicadores


Out[7]:
{'Argentina': 280319,
 'Bolivia': 137816,
 'Brazil': 413041,
 'Chile': 259926,
 'Colombia': 270221,
 'Ecuador': 199726,
 'Paraguay': 239419,
 'Peru': 260127,
 'Uruguay': 311232,
 'Venezuela': 118419}

In [8]:
for i in sorted(indicadores, key=indicadores.get, reverse=True):
    print(i, puntos[i], difgoles[i], golesconv[i])


Brazil 41 30 41
Uruguay 31 12 32
Argentina 28 3 19
Colombia 27 2 21
Peru 26 1 27
Chile 26 -1 26
Paraguay 24 -6 19
Ecuador 20 -3 26
Bolivia 14 -22 16
Venezuela 12 -16 19

In [ ]: