Python在第一行文件上跳过操作

时间:2017-08-08 10:41:36

标签: python loops python-3.5

我有一个csv文件,如下所示:

CCC;reserved;reserved;pIndex;wedgeWT;NA;NA;NA;NA;NA;xOffset;yOffset;zOffset
0.10089,0,0,1,0,0,0,0,0,0,-1.8,-0.7,1999998
0.1124,0,0,3,0,0,0,0,0,0,-1.2,1.8,-3.9

我正在使用fileinput方法在文件中执行某些操作,但我想跳过第一行(标题)行的操作,尽管仍保留在那里。我尝试过使用next(f)f.isfirstline(),但他们删除了标题行。我想保持标题行完整,但不对其进行任何操作。

with fileinput.input(inplace=True) as f:
    #skip line
    for line in f:
    .
    .

2 个答案:

答案 0 :(得分:0)

您可以使用enumerate轻松跟踪行号:

for linenum, line in enumerate(f):
    if linenum == 0:
        # 'line' is the header line
        continue

    # 'line' is a data line
    # ...

答案 1 :(得分:0)

您可以使用iter并使用next

跳过它
with fileinput.input(inplace=True) as f:
    iterF = iter(f)
    print next(iterF)#skipping computation but printing data
    for line in iterF:
        #...

这样你只需要一次创建迭代器的开销,但是不会像@JonathonReinhart解决方案那样在每个迭代循环中创建索引或计算if(这也是有效的)。