2017-11-03 5 views
1

私のプログラムは古いデータを新しいデータで置き換えます。これは同じ.csvファイルに入れられます。私はプログラムを実行した後、それは置き換えられません。以下は私のコードです。すべての.csvファイルの内容をpythonで削除します

     TEXTFILE = open("data.csv", "w") 

         for i in book_list: 
          TEXTFILE.write("{},{},{},{}".format(i[0],i[1],i[2],i[3])) 

         TEXTFILE.close() 

book_listは、私が得た保存 結果に新しいデータを保存したリストです:

k,k,45,c 
a,a,65,r 
d,s,65,r 
as,as,65,r 
df,df6,65,r 
as,as,6,r 
as,as,46,r 
as,as,45,r 
as,as,56,rk,k,45,r 
a,a,65,r 
d,s,65,r 
as,as,65,r 
df,df6,65,r 
as,as,6,r 
as,as,46,r 
as,as,45,r 
as,as,56,r 

それは古いものと新しいコンテンツを組み合わせてCSVに保存されました。

もorigininalファイルは次のようになりますされています

k,k,45,r 
a,a,65,r 
d,s,65,r 
as,as,65,r 
df,df6,65,r 
as,as,6,r 
as,as,46,r 
as,as,45,r 
as,as,56,r 

はどのように説明するかIDKの。結果は4行目の新しいデータで1行変更されることが予想されます。例えば、前の行はk、k、45、r(行1)です。それはコンテンツだ破壊したファイルを開いた後に呼び出された場合、プログラムは、

はあなたのすべてが私を助けることを願ってそのように:)

+1

元のファイルがどのように見えるのか、予想される出力を投稿できるのであれば、 –

+0

を修正するのに役立ちます。私は投稿を編集するには少し障害があります。 –

+0

予定されている「新しいコンテンツ」も投稿してください。変数 'book_list'がどのように見えるかを知ることも役立ちます。 –

答えて

1

.truncate()を使用してみてくださいC、それはK、K、45になって変更されます。

TEXTFILE = open("data.csv", "w") 
TEXTFILE.truncate() 

for i in book_list: 
    TEXTFILE.write("{},{},{},{}".format(i[0],i[1],i[2],i[3])) 

TEXTFILE.close() 

私はあなたを正しく理解してくれることを願っています。

+0

私は既に "w"を "w"で変更しますが、結果は同じです。しかし、ありがとうbtw :) –

+0

@KevinJulianto私はあなたが何をしようとしていることを理解しましたか?あなたは内容を上書きしたいですか? – UpmostScarab

+0

@KevinJulianto私のコードの新しいバージョンをお試しください。 – UpmostScarab

関連する問題