我需要遍历.csv,直到名为“seguir”的布尔值变为False。 问题是takewhile会丢弃上一次迭代,我需要这样做,因为那一行中的.csv值与我的问题相关
for line in itertools.takewhile(lambda x: seguir, lectura):
data3 = strintodate(line[1])
data4 = strintodate(line[2])
if data2 < data4:
seguir = False
escritura.writerow([programa + 1, data2, data2, line[4]])
有什么建议吗? 谢谢
可以使用
for
循环,条件是在写入行后break
s:在不做太多更改的情况下,您是否可以将一个temp变量保留在存储前一行的for循环之外
blhsing's解决方案是可行的,但是还有一种方法可以剥猫皮—使用
itertools.tee
创建紧跟其后的迭代器一句话,丑陋。通过将
data2
和其他元素的设置以及对writerow
的调用提取到一个单独的函数中,这是可以挽救的相关问题 更多 >
编程相关推荐