我正在尝试创建一个排除空字节的文件的新版本。我使用下面的代码来尝试,但是它仍然在空字节上中断。我应该如何构造for语句和try-catch块以在异常之后继续执行?在import csv
input_file = "/data/train.txt"
outFileName = "/data/train_no_null.txt"
############################
i_f = open( input_file, 'r' )
reader = csv.reader( i_f , delimiter = '|' )
outFile = open(outFileName, 'wb')
mywriter = csv.writer(outFile, delimiter = '|')
i_f.seek( 0 )
i = 1
for line in reader:
try:
i += 1
mywriter.writerow(line)
except csv.Error:
print('csv choked on line %s' % (i + 1))
pass
编辑:
以下是错误消息:
^{pr2}$
更新:
我用的是这个代码:i_f = open( input_file, 'r' )
reader = csv.reader( i_f , delimiter = '|' )
# reader.next()
outFile = open(outFileName, 'wb')
mywriter = csv.writer(outFile, delimiter = '|')
i_f.seek( 0 )
i = 1
for idx, line in enumerate(reader):
try:
mywriter.writerow(line)
except:
print('csv choked on line %s' % idx)
现在得到这个错误:Traceback (most recent call last):
File "20150310_rewrite_csv_wo_NULL.py", line 26, in
for idx, line in enumerate(reader):
_csv.Error: line contains NULL byte