2016-11-09 19 views
0

私はかなり新しいpythonです。 Python 2.7.12を使ってcsvファイルの平均と標準偏差を計算するためのコードを書きました。そして、with openコマンドを使ってこれらの数値をsummary.outに書きましたが、ファイルを閉じて私の次のCSVファイルのpythonコマンドは、保存したデータの最初のビットを上書きし、新しい出力のみをファイルに表示します。このコマンドを使用してファイルにすべてのデータを格納し、古い出力を上書きすることはできません。それが協力していないだけパレあるので、私が書いたファイルをopenで開くには

私は、ちょうど書き込み部分を完全なコードを貼り付けません。

with open('summary.out', 'w') as f: 
     f.write(filename + "=") 
     f.write(str(d)) 
     f.close 

f.writeファイル名は、私は平均していたファイル、STR(d)のためのものです平均と標準偏差を返しますが、それらのコードは正常に動作します。私はコマンドを再度実行して古いファイル情報を上書きする理由と、これをどのように修正するのだろうと思っています。

+1

ファイルの最後に新しいデータを追加するには、 'open( 'summary.out'、 'w')'を 'open( 'summary.out'、 'a')に変更してください。 –

+0

http:// stackoverflow .com/questions/4706499/how-do-you-a-file-in-python – doctorlove

+1

ファイルを開くときにf.close()を実行する必要はありません。 –

答えて

0

「w」を使うと、Pythonが新しいものとしてファイルに書き込むように指示します。 'a'を使用してファイルの末尾に追加します。最初の行は次のようになります。

ちょうどあなたがおそらくオープン(「summary.out」のような何かを持っている必要がありますので、これはファイルを消去しないであろう、しかし何かをクリア:Fとしてオープン(「summary.out」、「A」)との

、 'w')。ファイルをクリアする前に閉じてください。

+0

'with'ステートメントは整頓されませんか? – doctorlove

関連する問題