Aan de slagGa gratis aan de slag

Een generator schrijven om data in chunks te laden (3)

Top! Je hebt zojuist een generatorfunctie gemaakt die je kunt gebruiken om grote bestanden te verwerken.

Laten we je generatorfunctie nu gebruiken om de World Bank-gegevensset te verwerken, net als eerder. Je verwerkt het bestand regel voor regel om een woordenboek te maken met tellingen van hoe vaak elk land voorkomt in een kolom van de gegevensset. In deze oefening verwerk je echter niet slechts 1000 rijen, maar de hele gegevensset!

De generatorfunctie read_large_file() en het csv-bestand 'world_dev_ind.csv' zijn al voor je geladen en klaar voor gebruik. Aan de slag!

Deze oefening maakt deel uit van de cursus

Python-gereedschapskist

Cursus bekijken

Oefeninstructies

  • Koppel het bestand 'world_dev_ind.csv' aan file in de contextmanager met open().
  • Maak de for-lus af zodat deze over de generator van de aanroep naar read_large_file() itereert om alle rijen van het bestand te verwerken.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Initialize an empty dictionary: counts_dict
counts_dict = {}

# Open a connection to the file
with ____ as ____:

    # Iterate over the generator from read_large_file()
    for line in ____:

        row = line.split(',')
        first_col = row[0]

        if first_col in counts_dict.keys():
            counts_dict[first_col] += 1
        else:
            counts_dict[first_col] = 1

# Print            
print(counts_dict)
Code bewerken en uitvoeren