Elaborazione dei dati in blocchi (1)
A volte, le fonti di dati possono essere così grandi che tenere tutto il set di dati in memoria richiede troppe risorse. In questo esercizio, elaborerai le prime 1000 righe di un file riga per riga, per creare un dizionario che conti quante volte ogni paese compare in una colonna del set di dati.
Il file csv 'world_dev_ind.csv' è nella tua cartella attuale, pronto per essere usato. Per iniziare, devi aprire una connessione a questo file usando quello che si chiama un gestore di contesto. Per esempio, il comando with open('datacamp.csv') as datacamp collega il file csv 'datacamp.csv' come datacamp nel gestore di contesto. Qui, l'istruzione ` with ` è il gestore di contesto e serve a garantire che le risorse siano distribuite in modo efficiente quando si apre una connessione a un file.
Se vuoi saperne di più sui gestori di contesto, dai un'occhiata al corso DataCamp sull'importazione dei dati in Python.
Questo esercizio fa parte del corso
Strumenti per Python
Istruzioni dell'esercizio
- Usa
open()per collegare il file csv'world_dev_ind.csv'comefilenel gestore di contesto. - Completa il ciclo "
for" in modo che si ripeta 1000 volte per eseguire il corpo del ciclo ed elaborare solo le prime 1000 righe di dati del file.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Open a connection to the file
with ____ as ____:
# Skip the column names
file.readline()
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Process only the first 1000 rows
for j in ____:
# Split the current line into a list: line
line = file.readline().split(',')
# Get the value for the first column: first_col
first_col = line[0]
# If the column value is in the dict, increment its value
if first_col in counts_dict.keys():
counts_dict[first_col] += 1
# Else, add to the dict and set value to 1
else:
counts_dict[first_col] = 1
# Print the resulting dictionary
print(counts_dict)