Ich versuche, von einem zu lesen und zu zweiten CSV-Dateien zu schreiben. Das Problem ist, dass ich wissen muss, wie viele Zeilen in der CSV-Eingabedatei vor dem Lesen vorhanden sind.Python CSV-Reader überspringt nicht die erste Zeile
with open('csv/file.csv') as f:
with open('output/output_{}.csv'.format(time.strftime("%Y%m%d-%H%M%S")), 'wb') as o:
reader = csv.DictReader(f)
reader.fieldnames.append('VAT added')
rows = sum(1 for _ in reader)
f.seek(0)
writer = csv.DictWriter(o, fieldnames=reader.fieldnames)
writer.writeheader()
for n,line in enumerate(reader):
print line
print '{} lines remaining'.format(rows-n)
code = line['number'].strip()
...
writer.writerow(line)
Das Problem ist, dass es die header
Zeile liest, so dass es Fehler nach der ersten Iteration zurückgibt. Wo ist das Problem?
Können Sie nach genau den Fehler, die Sie bekommen? Sie können die erste Iteration einfach überspringen. – mknull
Was ist, wenn Sie 'für n, Zeile in Enumerate (Leser): wenn n> 0:'? –
blacksite
pandas ''read_csv'-Funktion hat einen' skiprows'- und 'header'-Parameter, von denen Ihnen beide hier helfen können. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html –