在python2中使用csv时的StopIteration

时间:2015-12-26 10:22:25

标签: python csv

在我的代码中有一个函数包含一个csv阅读器,如下面的

def preprocessing_file(file_path):
    out = []
    with open(file_path,'r') as f_in:
        lines = csv.reader(f_in)
        next(lines)
        out.append(lines)
    return out

当我运行此代码时,终端会向我显示

下面的消息
  File "preprocessing.py", line 14, in preprocessing_file
    next(lines)
StopIteration

在我将这些部分设为函数之后,在代码正常工作之前会出现此问题。

任何人都知道这个问题是什么?

1 个答案:

答案 0 :(得分:2)

你打开了一个空文件;没有要迭代的行。您可以告诉squeue -O "stepid:6,username:8,account:7,name:53,partition:15,submittime:20" | sort -k4 通过为其返回默认值来禁止异常:

next()

请参阅Skip the headers when editing a csv file using Python

请注意,您的next(lines, None) 行会将 CSV阅读器对象附加到列表中,而不是CSV中的行。我改为使用out.append(lines),或者仅使用out = list(lines)返回阅读器本身。