私はここに数日いました。これが私がやろうとしていることです:
- 既存のcsvファイルを追加モードで開きます
- csvの新しい行の文字列を下部に追加します(下の「バッファ」)
- ファイルを閉じる
- 最後に入力したデータの日付を反映してファイルの名前を変更します。
私のコードの抜粋:
if mode == 'a':
print buffer
print fn
f = open(fn,mode)
f.write(buffer)
#f.write("\nfoo,bar")
f.close()
print f.closed
os.rename(".\\out\\" + fn, ".\\out\\" + fn[0:17]+tdy[0:4]+ "_" + tdy[5:7] + "_" + tdy[8:10] + ".csv")
追加情報:
モードは確かに=='a'ループに到達します。
buffer
プリントします。次のような複数行のcsvデータの文字列として出力します。foo, bar, foo, bar foo, bar, foo, bar foo, bar, foo, bar
fn
は、開こうとしている正しいファイル名であり、そのように出力します。f.closed
戻り値True
os.rename
動作し、ファイルの名前を変更します。開いたとき、バッファが追加されていません。flush()
クローズする前に追加してみました。名前を変更せずに試しました。
ハードコードされた文字列を追加しようとしました。
何か案は?