Ich versuche, bestimmte Zellen in einer CSV-Datei mit Python neu zu schreiben.Python - CSV-Datei leer nach dem Umschreiben mit csv-Modul
Immer wenn ich versuche, einen Aspekt der CSV-Datei zu ändern, wird die CSV-Datei jedoch geleert (der Inhalt der Datei wird leer).
Minimal Codebeispiel:
import csv
ReadFile = open("./Resources/File.csv", "rt", encoding = "utf-8-sig")
Reader = csv.reader(ReadFile)
WriteFile = open("./Resources/File.csv", "wt", encoding = "utf-8-sig")
Writer = csv.writer(WriteFile)
for row in Reader:
row[3] = 4
Writer.writerow(row)
ReadFile.close()
WriteFile.close()
'file.csv' sieht wie folgt aus:
1,2,3,FOUR,5
1,2,3,FOUR,5
1,2,3,FOUR,5
1,2,3,FOUR,5
1,2,3,FOUR,5
In diesem Beispiel ich bin versucht, 'VIER' bis '4' zu ändern.
Nach dem Ausführen dieses Codes wird die CSV-Datei stattdessen leer. Die einzige andere Frage, die damit zusammenhängt, die ich gefunden habe, ist this one, die nicht mit dem Umschreiben bestimmter Zellen in einer CSV-Datei zu tun hat, sondern stattdessen mit dem Schreiben neuer Zeilen in eine CSV-Datei befasst ist .
Ich wäre sehr dankbar für jede Hilfe, die jeder lesen könnte.
Öffnen Sie die Datei mit 'a +' statt. –
@ j-darbyshire Ich habe "rt" und "wt" durch "a +" ersetzt und es wischt immer noch die Datei ab. Mache ich es falsch? – Luke25361
Setzen Sie den Leser auf den Anfang der Datei. Direkt unterhalb der Zeile 'ReadFile = open ...' füge die Zeile 'ReadFile.seek (0)' hinzu. Jetzt sollte der Code wie erwartet ausgeführt werden. –