Überbleibsel nach Spalten entfernen (CSV)

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
himself
User
Beiträge: 5
Registriert: Montag 16. Januar 2017, 20:38

Hallo zusammen,

ich habe ein merkwürdiges Phänomen an einem Python Skript festgestellt. Ich verarbeite eine xml Datei, wandle die für mich relevanten Informationen in eine CSV um. Dann wird die Datei sortiert. … soweit funktioniert alles. Als abschließender Schritt werden überflüssige Spalten gelöscht.
Das funktioniert solange ich es als separates Skript ausführe ohne Probleme. Integriere ich es in mein bestehendes Skript hängt er unter die vollständige und korrekte Ausgabe eine Zeile in der in jeder Spalte NULL steht. Darunter einige Zeilen der original Datei (Also die ohne gelöschte Spalten). Der Code um die Spalten zu löschen sieht folgendermaßen aus:

Code: Alles auswählen

with open(targettemp, "r") as file_in:
    with open(target, "w", newline='') as file_out:
        writer = csv.writer(file_out, delimiter = ';')
        for row in csv.reader(file_in, delimiter = ';'):
            writer.writerow(row[begin:end])
Das Ergebnis sieht dann so aus:


Bild

Wenn ich den Code Schnipsel von oben in einem seperaten Skript laufen lasse funktioniert es. Die Zeile mit dem NULL und das darunterstehende wird nicht geschrieben.

Vielleicht hat ja jemand eine Idee (Python 3.3 auf Windows)

Gruß und Danke

himself
Zuletzt geändert von Anonymous am Mittwoch 25. Januar 2017, 10:26, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@himself: das Verhalten läßt sich nur dadurch erklären, dass Du an anderer Stelle die Datei noch geöffnet und nicht sauber geschlossen hast.
himself
User
Beiträge: 5
Registriert: Montag 16. Januar 2017, 20:38

@Sirius3: Tatsache. manchmal sieht man den Wald vor lauter Bäumen nicht. Danke!
Antworten