web-dev-qa-db-fra.com

Lecture d'un fichier CSV avec Python 3

J'apprends à lire des fichiers CSV avec Python 3, et j'ai joué avec mon code et j'ai réussi à lire le document entier ou certaines colonnes, mais j'essaie de lire uniquement certains enregistrements contenant une certaine valeur.

Par exemple, je veux lire tous les enregistrements où la voiture est bleue, comment pourrais-je lui faire lire uniquement ces enregistrements? Je ne peux pas comprendre cela et je serais reconnaissant pour toute aide ou conseils! 

import csv

with open('cars.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['ID'], row['Make'], row['Colour'])
14
user5508371

Une simple "if" devrait suffire. Voir flux de contrôle docs.

import csv

with open('Cars.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        if row['Colour'] == 'blue':
            print(row['ID'] ,row ['Make'],row ['Colour'])
16
Kevin

Vous pouvez vérifier les valeurs en lisant les lignes.

with open('Cars.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
     // check your values here - if car = blue 
     // do something with blue cars.
     print(row['ID'] ,row ['Make'],row ['Colour'])
2
Danny_ds

Vous lisez chaque ligne une par une et utilisez une vérification explicite pour filtrer celles que vous souhaitez traiter. Ajoutez-les ensuite à un tableau ou traitez-le sur place. 

0
Csene