我有以下源代码,我正在尝试在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中很简单,我只需要将dlmwrite与'-append'参数一起使用。
但是如何在Python中执行此操作?
答案 0 :(得分:25)
以追加模式打开文件。
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)
更多信息open modes
尝试以下方法: -
>>> 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'
>>>
从此link
模式:说明
答案 1 :(得分:1)
如果您使用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=''
可以帮助您避免获取额外的新行,两行之间的数据为空行。