我有一个问题,我无法找到一个干净的解决方案。我正在读csv文件(〜4000行,最多〜2000个文件),其中一些文件中随机包含一个NULL字节(它们不应该在第一位)。他们在自己的行中,我试图找到一种方法来跳过它们。我觉得最干净的方法是将for循环放入try中,除非当它遇到NULL字节时才会跳到for循环的下一次迭代。我的问题是如果for循环失败将continue
移动到循环的下一个迭代?我假设它不会,但我不知道如何轻松测试它,我想不出另一种方式来做到这一点。For循环尝试除了跳过NULL字节
下面是这个
reader = csv.reader(open('file'))
while 1:
try:
for row in reader:
#do stuff with row
break
except:
continue
也许你可以测试一个小数据集,看看你的行为是否是你期望的?也许为此设置一个单元测试,以了解您的方法在不同输入情况下的行为方式? – idjaw
@idjaw会继续for循环或while循环吗? – SirParselot
如果您试图从文件中删除空字节,为什么要使用csv?为什么不只是'infile = open(“input.csv”); outfile = open(“output.csv”,“w”); outfile.write(infile.read()。replace(“\ 0”,“”))'? – Kevin