我有一个程序可以读取文件并使用next()函数跳过空行。
但是,由于文件的最后一行是空白,因此会产生异常错误。
有没有人知道解决这个问题?
当前代码:
import csv
with open(fname,'rb') as inf:
reader = csv.reader(inf)
for row in reader:
while row == []:
row = next(reader)
do stuff
错误:
Traceback (most recent call last):
File "./program.py", line 37, in <module>
row = next(reader)
StopIteration
答案 0 :(得分:2)
您只需在文件对象上使用filter
内置函数即可。如果文件很长,itertools.ifilter
将懒惰地执行此操作。例如filter(None, FILE_OBJECT)
将返回一个迭代文件行的迭代,省略空行(Python中的空行是假的)。
修改
看到您的实际代码后,请使用continue
语句,而不是调用next
变化:
while row == []:
....
为:
if row == []:
continue