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
Oefeninstructies
- Koppel het bestand
'world_dev_ind.csv'aanfilein de contextmanager metopen(). - Maak de
for-lus af zodat deze over de generator van de aanroep naarread_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)