Python 3.2 sauter une ligne dans un fichier csv.DictReader
Comment puis-je sauter une ligne d'enregistrements dans un fichier CSV lors de l'utilisation d'un DictReader?
Code:
import csv
reader = csv.DictReader(open('test2.csv'))
# Skip first line
reader.next()
for row in reader:
print(row)
Erreur:
Traceback (most recent call last):
File "learn.py", line 3, in <module>
reader.next()
AttributeError: 'DictReader' object has no attribute 'next'
- rien à voir avec ce problème, mais vous devez être l'ouverture de votre fichier comme ceci:
open('test2.csv', newline='')
... voir la csv.lecteur de docs - J'ai lu le CSV.Lecteur de doc. Cet attribut s'affiche pour vous aider à préserver multiligne CSVs. Depuis mon fichier CSV est multiligne, encore faudrait-il être prudent d'ajouter
newline=''
à ma commande?
Vous devez vous connecter pour publier un commentaire.
Vous utilisez
next(reader)
à la place.Source: csv.DictReader documentation
Depuis la version 2.6 de Python, vous devriez utiliser la prochaine(foo) au lieu de foo.next().
Il a été considéré comme une erreur dans python2 d'avoir la méthode dite
next()
au lieu de__next__()
next(obj)
appelle maintenantobj.__next__()
commestr
,len
etc. comme il se doit.Vous habituellement ne dirais pas
obj.__next__()
directement comme vous le dirais pasobj.__str__()
directement si vous vouliez la chaîne représentation d'un objet.Pratique pour savoir si vous vous trouvez l'écriture inhabituelle itérateurs