我試圖用Python重寫csv文件中的特定單元格。使用csv模塊重寫後的Python - 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'。
運行此代碼時,csv文件變爲空。
到目前爲止,我設法找到的唯一與此有關的其他問題是this one,它似乎沒有處理重寫csv文件中的特定單元格,而是處理將新行寫入csv文件。
我非常感謝任何閱讀此文的人提供的幫助。
打開該文件'一個+'代替。 –
@ j-darbyshire我用「a +」替換了「rt」和「wt」,它仍然在擦除文件。我做錯了嗎? – Luke25361
將閱讀器設置爲文件的開頭。直接在'ReadFile = open ...'行下面添加'ReadFile.seek(0)'行。現在你的代碼應該按預期運行。 –