Python ist3 csv-writer scheitern, beenden auf-Fehler "TypeError: 'newline' ist ein ungültiges Schlüsselwort-argument für diese Funktion

, Was ich versuche zu tun:

Ich versuche, ändern Sie die Formatierung auf eine csv-Datei von Leerzeichen als Trennzeichen auf Komma getrennt.

, Was ich getan habe:

Kann ich das Einlesen der csv-Datei ganz gut, und drucken Sie die Ausgabe-Zeile für Zeile auf der Konsole aus. Code sieht wie folgt aus:

with open(txtpath, mode='r', newline='') as f:
    fReader = csv.reader(f)
        for rows in fReader:
            print(rows)

Dieser genau das tut, was es soll, und vor Ort überprüfung die Ausgabe bestätigt, dass die Zeilen gelesen werden, richtig.

Das Problem:

Laut der offiziellen Python ist3 Dokumentation auf csv.Autor, "Wenn csvfile ist ein file-Objekt, es geöffnet werden soll, mit newline=" Eins." Mein code sieht wie folgt aus:

with open(csvpath, 'w') as g:
        gWriter = csv.writer(g, newline='')
        gWriter.writerows(rows)

also alle zusammen, es sieht wie folgt aus:

with open(txtpath, mode='r', newline='') as f:
    fReader = csv.reader(f)
    for rows in fReader:
        print(rows)
        with open(csvpath, 'w') as g:
            gWriter = csv.writer(g, newline='')
            gWriter.writerows(rows)

Allerdings, wenn ich den code ausführen, sowohl mit Pycharm (Anakondas 3.4 ausgewählt als Projekt-interpreter) und aus der Konsole mit Python ist3 mycode.py beide Ergebnisse sagen mir, dass newline "ist ein ungültiges Schlüsselwort-argument für diese Funktion", und Verweise Linie 42, die ist, wo meine writer-Objekt instanziiert wird. Ich lief es durch den debugger und es scheißt aus, sobald ich versuche zu erstellen das writer-Objekt. Wenn ich nicht hinzufügen, das neue-Zeile-argument, es fragt nach einem Dialekt-Spezifikation, so dass nicht funktioniert, entweder.

Ich bin sicher, es gibt etwas offensichtlichen, die mir fehlen, aber ich kann es nicht sehen.

InformationsquelleAutor khtad | 2015-09-27
Schreibe einen Kommentar