J'ai des réservations Fichier CSV avec les en-têtes suivantes: Prénom, Nom, Date de réservation, Sujet, Période de cours, Taille de la classe
Je souhaite lire le fichier CSV et imprimer uniquement les lignes où la date de réservation est "(une certaine valeur)" et la période de cours est "( certaine valeur ") p>
jusqu'à présent, mon code est: p> Cependant, au lieu de sortir les lignes de la date" 11/01/2019 " Et la période de cours est "leçon 3" - il est à la place d'imprimer la première rangée avec ce critère, d'ignorer le reste et d'impression de la ligne suivante après cela. P> Écran Coup ci-dessous:
(Affichage de l'exemple de code, de sortie et csv) p>
3 Réponses :
Votre problème est dans la partie suivante:
if line[2] == check_date and line[4] == check_period:
for line in reader:
print(line)
Essayez la suppression de Break code> Intérieur si code> instruction. Avec break code> Vous arrêtez d'itération via la liste une fois que vous avez trouvé la ligne appropriée p>
Je crois que la meilleure façon de rendre cette échelle est à utiliser les Pandas populaires de la bibliothèque ".csv". En lui, il existe plusieurs façons de vérifier un fichier .csv sans boucler à travers toutes les lignes. De plus, cela fonctionne exceptionnellement bien avec des fichiers .csv extrêmement volumineux devraient devenir un problème pour vous. J'espère que cela vous a aidé. Cela peut sembler un peu excessif en tenant compte de votre .csv de 5 lignes, mais Pandas est une bibliothèque très polyvalente et utile lorsqu'elle travaille de manière approfondie avec des fichiers .csv et offre une logique simple qui permet de limiter le nombre de boucles dans un programme. p> p>
Pour la ligne dans le lecteur à l'intérieur d'un lecteur dans un lecteur si double accès de votre itérateur