Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python更新csv文件_Python_Csv_Io - Fatal编程技术网

使用python更新csv文件

使用python更新csv文件,python,csv,io,Python,Csv,Io,我正在做一个小项目,其中一个步骤是在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=",", quot

我正在做一个小项目,其中一个步骤是在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

提前谢谢。

是否可以在附加模式下打开文件

file_p = open(file_path, "ab")

可能在附加模式下打开文件

file_p = open(file_path, "ab")

打开文件时,请尝试打开它以进行附加,如下所示

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() 

打开文件时,请尝试打开它以进行附加,如下所示

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() 

分隔符引号最好选择为不同

我理解这个问题,目的是在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')

分隔符引号最好选择为不同

我理解这个问题,目的是在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')

Python文档来解救!请重新表述您的句子,以便理解:“我的目标是从循环返回的每个数据列表”。从您的示例中,我理解您希望在文件的所有内容之前插入数据列表。如果不是这样,那就意味着你必须努力用可以理解的语言表达你的问题way@eyquem我已经更改了它,希望它能很好地表达这个问题:)不,如果示例意味着要在现有contentPython文档之前或之后插入数据列表,那么仍然存在歧义!请重新表述您的句子,以便理解:“我的目标是从循环返回的每个数据列表”。从您的示例中,我理解您希望在文件的所有内容之前插入数据列表。如果不是这样,那就意味着你必须努力用可以理解的语言表达你的问题way@eyquem我已经更改了它,希望它能很好地表达这个问题:)不,如果示例意味着您希望在现有内容之前或之后插入数据列表,那么仍然存在歧义!非常感谢,我一直在搜索这个模式,但不幸错过了它,最后想,我将不得不为这个东西自定义方法。它工作!非常感谢,我正在搜索这个模式,但不幸错过了它,最后想,我将不得不为这个东西定制方法。