使用Python更新CSV文件
我正在做一个小项目,其中有一步是将一组数据写入一个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
提前谢谢你。
3 个回答
0
分隔符和引号字符最好选择不同的
根据我对问题的理解,目的是在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')
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()
5
也许可以试着以追加模式打开文件?
file_p = open(file_path, "ab")