python 忽略 io.open 的第一行

python ignore first line with io.open

我有这段代码:

with io.open('csus.csv',mode='r',encoding='latin1') as csus:
  for line in csus:

我需要忽略第一行 (header)。当然,我可以使用原始布尔值,在 for 循环的 运行 期间检查它的值,当 False 消化该行并将其设置为 False 否则。 但我希望从文件中读取第一行(句柄?)并继续 for loop

csus.readline()

没有达到预期的效果,可以吗,我应该用什么?

作为附带问题,我应该关闭 csus 文件吗?我不认为这是在我从中复制的示例中完成的,我想知道这个 with .. as .. 语句是否已经包含了 close()?

试试这个:

enumerate 并跳过第一行

import io
with io.open('csus.csv',mode='r') as csus:
  for i, row in enumerate(csus):
      if(i==0):
          pass
      else:
        print(str(i) + " " + row)

您可以使用:

with io.open('csus.csv',mode='r',encoding='latin1') as csus:
    next(csus)
    for line in csus:
        # do something

with 语句负责为您关闭文件。

您可以使用以下代码轻松实现:

with open('any.txt', 'r') as f:
    for i, line in enumerate(f):
        if i > 0:
            print(line) # Change to line.strip() to get rid of new line after everyline