Python 我的结果只写在第一行
我是python初学者。当我的程序运行时,我得到了while循环的数据,该数据保存在csv文件中。但是,结果在第一行被覆盖。因此,该文件只有最后一个输出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)
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那你为什么不给我们看那代码呢?请更新您的问题,使答案有意义。