CommencerCommencer gratuitement

Écrire un générateur pour charger des données par morceaux (3)

Parfait ! Vous venez de créer une fonction de générateur que vous pouvez utiliser pour vous aider à traiter des fichiers volumineux.

Utilisons maintenant votre fonction générateur pour traiter l'ensemble de données de la Banque mondiale comme vous l'avez fait précédemment. Vous traiterez le fichier ligne par ligne, afin de créer un dictionnaire des nombres de fois où chaque pays apparaît dans une colonne de l'ensemble de données. Pour cet exercice, cependant, vous ne traiterez pas seulement 1000 lignes de données, mais l'ensemble des données !

La fonction générateur read_large_file() et le fichier csv 'world_dev_ind.csv' sont préchargés et prêts à être utilisés. Allez-y !

Cet exercice fait partie du cours

Boîte à outils Python

Afficher le cours

Instructions

  • Liez le fichier 'world_dev_ind.csv' à file dans le gestionnaire de contexte avec open().
  • Complétez la boucle for de manière à ce qu'elle itère sur le générateur à partir de l'appel à read_large_file() pour traiter toutes les lignes du fichier.

Exercice interactif pratique

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

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