Pythonを使用してCSVファイル内の特定のセルを書き直そうとしています。Python - csvモジュールを使用して書き直した後にCSVファイルが空になる
ただし、csvファイルの一部を変更しようとすると、csvファイルが空になります(ファイルの内容は空白になります)。
最小限のコード例:
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になり' ルックス:この例では
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
は、私が '4' に 'FOUR' を変更しようとしています。
このコードを実行すると、代わりにcsvファイルが空になります。
これまでのところ私が見つけたのは、this oneです。これは、csvファイル内の特定のセルを書き直すのではなく、新しい行をcsvファイルに書き込むことを扱っているようです。
これを読んだ人は誰でも助けてくれてとても感謝しています。
オープンファイルを '+'で代わりに。 –
@ j-darbyshire "rt"と "wt"を "a +"に置き換えましたが、それでもファイルは消去されています。私はそれを間違っているのですか? – Luke25361
リーダーにファイルの先頭を設定します。 'ReadFile = open ...'行の直下に 'ReadFile.seek(0)'という行を追加します。今すぐあなたのコードは期待どおりに実行する必要があります。 –