CommencerCommencer gratuitement

Traiter les données par blocs (1)

Parfois, les sources de données sont si volumineuses que charger l’ensemble du jeu de données en mémoire devient trop coûteux. Dans cet exercice, vous allez traiter les 1 000 premières lignes d’un fichier, ligne par ligne, afin de créer un dictionnaire comptant le nombre d’occurrences de chaque pays dans une colonne du jeu de données.

Le fichier CSV 'world_dev_ind.csv' se trouve dans votre répertoire courant. Pour commencer, vous devez ouvrir une connexion à ce fichier à l’aide de ce que l’on appelle un gestionnaire de contexte. Par exemple, la commande with open('datacamp.csv') as datacamp associe le fichier CSV 'datacamp.csv' à datacamp dans le gestionnaire de contexte. Ici, l’instruction with est le gestionnaire de contexte et elle sert à garantir une allocation efficace des ressources lors de l’ouverture d’une connexion à un fichier.

Pour en savoir plus sur les gestionnaires de contexte, consultez le cours DataCamp sur l’importation de données en Python.

Cet exercice fait partie du cours

Boîte à outils Python

Afficher le cours

Instructions

  • Utilisez open() pour associer le fichier CSV 'world_dev_ind.csv' à file dans le gestionnaire de contexte.
  • Complétez la boucle for pour qu’elle s’exécute 1 000 fois, afin d’effectuer le corps de boucle et de ne traiter que les 1 000 premières lignes du fichier.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code