2017-12-01 2 views
-1

Ich versuche, Benutzer eingegebene Daten an Zeilen anhängen, aber ich habe kein Glück.Wie mehrere Zeilen an csv-Datei mit Python anhängen

Counter ist eine benutzerdefinierte globale Variable, die ich an anderer Stelle im Code erstellt habe.

Wenn die Daten angehängt werden, anstatt in eine andere Zeile zu wechseln, schreibt sie einfach die gleiche Zeile immer wieder und als neuer Benutzer von Python habe ich keine Ahnung, was ich falsch mache.

def AppendCsv(): 
    NumberOfNamesToBeAdded() 
    with open ('Graph.csv', 'a') as graphFile: 
     graphFileWriter=csv.writer(graphFile) 
     for x in counter: 
      graphFileWriter.writerow([ID, Name,Cost,Date1]) 
+1

Was ist ID, Name, Kosten und Datum1? Ändern sie sich auf diesen Schleifen? – Marco

+1

Wenn Sie sagen, dass die gleiche Zeile immer wieder neu geschrieben wird, meinen Sie, dass sie dieselbe Zeile überschreibt und Sie nur eine einzelne neue Zeile an die CSV anhängen? Oder meinst du, dass dieselbe Zeile mehrmals angehängt wird? – rp372

+0

Ich meine, dass die gleiche Zeile überschrieben wird, so dass nur 1 Zeile angehängt wird – bobdaves69

Antwort

0

Es hängt ab, was in counter ist, für eine Sache. Mit einem range in counter, wie folgt aus:

import csv 

counter = range(3) 

with open('Graph.csv', 'a', newline='') as graphFile: 
    graphFileWriter = csv.writer(graphFile) 
    for x in counter: 
     graphFileWriter.writerow([1,2,3]) 

das Ergebnis ist folgendes:

1,2,3 
1,2,3 
1,2,3 

Sie könnten auch , newline='' in der open Anweisung eingefügt werden soll.

+0

Zähler ist ein String, also wenn ich es nur ändern Zähler = Bereich (Eingabe ('geben Sie die Nummer')) sollte dies funktionieren? – bobdaves69

+0

Ich erwarte ja, ja. –

Verwandte Themen