私は次のソースコードを持っていますが、csvファイルにリストを書き込もうとしています。すべての新しいリストをこのcsvファイルの新しい行に書き込む必要があります。ソースコードは次のとおりです。
import csv
list1=[55,100,'dir1/dir2/dir3/file.txt',0.8]
resultFile = open("output.csv",'wa')
wr = csv.writer(resultFile, dialect='Excel')
wr.writerow(list1)
resultFile.close()
問題は、コードを実行するたびに改行にlist1が挿入されないことです。
簡単なmatlabでは、 '-append'パラメータを指定してdlmwriteを使用するだけです。
しかし、これをPythonで行う方法は?
追加モードでファイルを開きます。
import csv
list1=[58,100,'dir1/dir2/dir3/file.txt',0.8]
with open("output.csv", "a") as fp:
wr = csv.writer(fp, dialect='Excel')
wr.writerow(list1)
ファイルの詳細 オープンモード
以下を試してください:-
>>> with open('test1','wb') as f: f.write('test')
...
>>> with open('test1','ab') as f: f.write('koko')
...
>>> with open('test1','rb') as f: f.read()
...
'testkoko'
>>> with open('test1','wa') as f: f.write('coco')
...
>>> with open('test1','rb') as f: f.read()
...
'coco'
>>>
これから リンク
モード:説明
Python 3.xを使用する場合は、コードを変更します。
import csv
list1 = [58,100,'dir1/dir2/dir3/file.txt',0.8]
with open("output.csv", "a", newline='') as fp:
wr = csv.writer(fp, dialect='Excel')
wr.writerow(list1)
newline=''
を追加すると、余分な改行、データのある2つの行の間に空の行が入るのを防ぐことができます。