Scrierea unui generator pentru încărcarea datelor în blocuri (3)
Excelent! Tocmai ai creat o funcție generator pe care o poți folosi pentru a procesa fișiere de dimensiuni mari.
Acum hai să folosești această funcție generator pentru a procesa setul de date World Bank, ca în exercițiile anterioare. Vei parcurge fișierul linie cu linie pentru a crea un dicționar cu numărul de apariții ale fiecărei țări într-o coloană din set. De data aceasta însă, nu vei procesa doar 1.000 de rânduri – vei procesa întregul set de date!
Funcția generator read_large_file() și fișierul CSV 'world_dev_ind.csv' sunt deja încărcate și pregătite pentru utilizare. Succes!
Acest exercițiu face parte din cursul
Cutia cu instrumente Python
Instrucțiuni pentru exercițiu
- Leagă fișierul
'world_dev_ind.csv'de variabilafileîn managerul de context folosindopen(). - Completează bucla
forastfel încât să itereze peste generatorul returnat de apelulread_large_file(), pentru a procesa toate rândurile din fișier.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)