我正在开发一个小项目,其中一个步骤是在csv文件上写入数据列表。 我循环遍历列表,并获取特定数据并将其写入csv。 问题是当处理写操作时,它会删除csv文件的先前条目。我的csv编写方法如下: 和一个例子
def csv_writer(data_list,file_path):
import csv
file_p = open(file_path, "wb")
write_pattern = csv.writer(file_p, delimiter=",", quotechar=",")
write_pattern.writerow(data_list)
file_p.close()
示例数据列表是:
data_list = ['a', '', 'a', 'a', 'd', 'e']
我正在尝试将文件中的数据设置如下:
a,,a,d,e
a,b,c,d,e
a,g.j,l,m
提前致谢。
答案 0 :(得分:5)
也许以附加模式打开文件?
file_p = open(file_path, "ab")
答案 1 :(得分:0)
当您打开文件时,请尝试将其打开以进行追加,如下所示。
def csv_writer(data_list,file_path):
import csv
file_p = open(file_path, "a")
write_pattern = csv.writer(file_p, delimiter=",", quotechar=",")
write_pattern.writerow(data_list)
file_p.close()
答案 2 :(得分:0)
分隔符和 quotechar 最好选择不同的
正如我所理解的那样,目的是在CSV文件的所有内容之前插入一个新行。这是执行此操作的代码:
import csv
def csv_writer(data_list,file_path):
file_p = open(file_path, "rb+")
reader_pattern = csv.reader(file_p, delimiter=",", quotechar="$")
write_pattern = csv.writer(file_p, delimiter=",", quotechar="$")
content = list(reader_pattern)
file_p.seek(0,0)
write_pattern.writerow(data_list)
write_pattern.writerows(content)
file_p.truncate()
file_p.close()
data_list = ['a', '', 'a', 'a', 'd', 'e']
csv_writer(data_list,'Copie de zozou.txt')