csv.DictWriter funktioniert nicht wie gewünscht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Butterfly
User
Beiträge: 6
Registriert: Montag 29. Oktober 2012, 11:34

Hallo Zusammen,

vielleicht habt ihr einen Tip für mich...
ich will in eine CSV-Datei schreiben und zwar mi der Möglichkeit

writer=csv.DictWriter(open("test.csv", "a"), ["Nr", "Name", "Vorname"])
csvlines=({"Name" : "Mustermann", "Nr":2, "Vorname":"Alexander"},{"Name" : "Mustermann2", "Nr":4, "Vorname":"Stefan"} )
writer.writerows(csvlines)
...

dann werden mir nicht wie erhofft die Zeilen anhand des Spaltenheaders in die csv geschrieben, sondern genau in der Reihenfolge, wie sie im Dictionary wiederzufinden ist...
Mustermann, 2,Alexander
Mustermann2, 4, Stefan

... habe ich eine Möglichkeit, dass es genau in der Sequenz passiert, wie ich den Header angegeben habe...
2, Mustermann, Alexander
2, Mustermann2, Stefan...

Grüße
BlackJack

@Butterfly: Das Problem kann ich nicht nachvollziehen. Bist Du sicher dass Du in der richtigen Datei nachschaust? Und hast Du die Datei auch wieder geschlossen? Und bist Du sicher das Du nicht alte Daten am Anfang der Datei hast die in einer falschen Reihenfolge sind?
Butterfly
User
Beiträge: 6
Registriert: Montag 29. Oktober 2012, 11:34

ja ich bin mir sicher, da ich nen print ausgebe...
ich verwende Python 2.5, eine höhere Version wird von meinem System nicht unterstützt.

Allerdings habe ich nun einen anderen Weg gewählt, mit der richtigen Sortierung.

Danke

Grüße
BlackJack

@Butterfly: Ich formuliere es mal weniger vorsichtig: Das was Du behauptest kann nicht sein, denn auch bei Python 2.5 ist nicht so ein grober Fehler drin der bisher keinem ausser Dir aufgefallen ist.
Butterfly
User
Beiträge: 6
Registriert: Montag 29. Oktober 2012, 11:34

Hi BlackJack,

ja ich gebe dir voll und ganz recht... ich habe das ganze auch nochmal auf die einzelnen Zeilen herunter gebrochen und meine Dateien kontrolliert und jetzt geht es auch... Hatte die falsche Datei!

Danke.

Gruß
Antworten