Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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 我的结果只写在第一行_Python_Csv - Fatal编程技术网

Python 我的结果只写在第一行

Python 我的结果只写在第一行,python,csv,Python,Csv,我是python初学者。当我的程序运行时,我得到了while循环的数据,该数据保存在csv文件中。但是,结果在第一行被覆盖。因此,该文件只有最后一个输出 csv_out = open('results.csv', 'w') mywriter = csv.writer(csv_out, delimiter=';') rows = zip(k, l, m, h, c, n, r) mywriter.writerows(rows)

我是python初学者。当我的程序运行时,我得到了while循环的数据,该数据保存在csv文件中。但是,结果在第一行被覆盖。因此,该文件只有最后一个输出

     csv_out = open('results.csv', 'w')
        mywriter = csv.writer(csv_out, delimiter=';')
        rows = zip(k, l, m, h, c, n, r)
        mywriter.writerows(rows)
        num+=1
        csv_out.close()
打印示例:

['100 ', '1', 'a', '2', '0', '223', 'x']

['250', '5', 'b', '1', '0', '10', 'z']

results.csv只有第250行;5.B1.0;10;Z谢谢。

您每次都在打开文件进行写入,这意味着您正在用每一行新行覆盖内容

您可以使用模式
a
而不是
w
打开文件以附加到它,或者最好在循环外部打开文件,然后写入并在循环后关闭它


后者是首选,因为如果文件存在,以追加模式打开文件可能会导致不需要的内容

尝试模式“a”(追加)而不是“w”(写入)。

缩进不正确,并且您没有打印语句,因此脚本无法给出您显示的示例输出。你能把这些清理干净,让我们看看你实际使用的失败代码吗?如果它很简单,比如while循环在错误的地方,那么除非我们得到正确的代码,否则我们无法发现它。为什么?OP正在创建一个文件并执行
writerows
。这很正常。除非他更新他的示例代码,否则我们不能做出这样的假设。我从他的问题描述中插入,而不是深入了解他的代码的细节。。。他说的还没有结束,很明显……)所以,是的,我敢做出这样的假设;)OP正在执行
writerows
,并且没有循环。@t他们说他们正在从while循环中获取结果,正如您所看到的,调用中只有一个结果。显然,这不是全部code@Sami库莫宁谢谢你!那正是我的错误。@Ignacio那你为什么不给我们看那代码呢?请更新您的问题,使答案有意义。