IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Usa open() per collegare il file csv 'world_dev_ind.csv' come file nel 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)
Modifica ed esegui il codice