Python 3.2 überspringt eine Zeile in csv.DictReader
Wie kann ich überspringen einer Zeile der Datensätze in einer CSV, wenn Sie mit einem DictReader?
Code:
import csv
reader = csv.DictReader(open('test2.csv'))
# Skip first line
reader.next()
for row in reader:
print(row)
Fehler:
Traceback (most recent call last):
File "learn.py", line 3, in <module>
reader.next()
AttributeError: 'DictReader' object has no attribute 'next'
Kommentar zu dem Problem - Öffnen
nichts zu tun mit diesem problem, aber Sie sollten öffnen Sie Ihre Datei wie folgt:
open('test2.csv', newline=")
... sehen die csv.reader, docs Ich lese die CSV.Reader doc. Dieses Attribut wird zur Erhaltung der multiline Wird. Da meine CSV-Datei ist mehrzeilig, wäre es noch ratsam, hinzufügen von
newline="
auf meinen Befehl öffnen? InformationsquelleAutor der Frage paragbaxi | 2011-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie
next(reader)
statt.Quelle: csv.DictReader Dokumentation
InformationsquelleAutor der Antwort Sebastian Paaske Tørholm
Seit Python 2.6, die Sie verwenden sollten weiter(foo) statt foo.next().
InformationsquelleAutor der Antwort Lennart Regebro
Wurde es als ein Fehler in python2 die Methode aufgerufen
next()
statt__next__()
next(obj)
jetzt ruftobj.__next__()
wiestr
,len
etc. wie es sein sollte.Sie in der Regel nicht nennen
obj.__next__()
direkt genau wie Sie würde nicht nennenobj.__str__()
direkt, wenn Sie wollten, dass die string-Darstellung eines Objekts.Praktisch zu wissen, wenn Sie finden, sich selbst schriftlich ungewöhnliche Iteratoren
InformationsquelleAutor der Antwort John La Rooy