将数据附加到python的csv列

将数据附加到python的csv列,python,csv,Python,Csv,csv是什么样子的 col1,col2,col3,col4,col5 value1,value2,value3,value4,value5 ,,value6,value7,value8,value9 ,,value10,value11,value12,value13 到目前为止,我的函数看起来如何 def append(file, value1, value2): with open(file, 'a',) as file: writer = csv.writer(f

csv是什么样子的

col1,col2,col3,col4,col5
value1,value2,value3,value4,value5
,,value6,value7,value8,value9
,,value10,value11,value12,value13

到目前为止,我的函数看起来如何

def append(file, value1, value2):
    with open(file, 'a',) as file:
        writer = csv.writer(file, quoting=csv.QUOTE_NONE, escapechar=' ')
        writer.writerow([value1, value2])
在传递值1和值2的函数内调用
append
函数

如果csv文件如下图所示,则函数将执行此操作

col1,col2,col3,col4,col5
value1,value2,value3,value4,value5
只要传入value1和value2,我如何才能写入特定单元格。 无需担心传递的值,只需函数引入参数即可

csv看起来像:


col1,col2,col3,col4,col5
value1,value2,value3,value4,value5
,,value6,value7,value8,value9
,,value10,value11,value12,value13

预期结果


col1,col2,col3,col4,col5
value1,value2,value3,value4,value5
argument1,argumen2,value6,value7,value8,value9
argument3,argument3,value10,value11,value12,value13


这就是我学习的方式,非常简单:

def append_csv(file, *argv):
    my_line = ','.join([elem for elem in argv]) + '\n'
    file.write(my_line)
  
my_file = open('my_csv_file.csv', 'a')
append_csv(my_file, 'val1', 'val2', ... , 'valN')
my_file.close() # you need to close to save the changes.

在行的开头和结尾使用\n。我们的想法是知道你的文件是否总是不返回行。谢谢。我已经更新了帖子,你对引号有什么建议吗?为什么在open命令中使用
newline=''
?我忘了。当我开始思考这个问题时,我确信我会写它,但后来我意识到我需要追加,因为写会覆盖文件。阅读我认为你能理解的两篇文章。我会尝试一下tmrw,但我的代码可读性很好。你的代码太花哨了,我不知道那是什么类型的代码。是python3.8吗?当我把它放在循环外时,是一个注释。蟒蛇3号是的。这是更容易的工作与文件。写,而不是作家刚刚更新的帖子,我发现了一个错误,我没有考虑,如果你有时间看一看。它有一个小工作。其实我要睡觉了,明天我给你答案。您可以传递到函数*args中,并且不必关心参数的数量