从第2行读取文件或跳过标题行

sup*_*er9 225 python file-io

如何跳过标题行并开始从第2行读取文件?

Sil*_*ost 422

with open(fname) as f:
    next(f)
    for line in f:
        #do something
Run Code Online (Sandbox Code Playgroud)

  • 如果你以后需要标题,而不是`next(f)`使用`f.readline()`并将其存储为变量 (46认同)
  • 或者使用`header_line = next(f)`. (32认同)

chr*_*ley 90

f = open(fname,'r')
lines = f.readlines()[1:]
f.close()
Run Code Online (Sandbox Code Playgroud)

  • 这很好UNTIL文件太大,无法读取.这适用于小文件. (15认同)
  • @LjubisaLivac是正确的-这个答案可以推广到任何行,所以这是一个更强大的解决方案。 (3认同)

sai*_*uri 23

如果你想要第一行,然后你想在文件上执行一些操作,这个代码将有所帮助.

with open(filename , 'r') as f:
    first_line = f.readline()
    for line in f:
            # Perform some operations
Run Code Online (Sandbox Code Playgroud)


Dro*_*man 8

f = open(fname).readlines()
firstLine = f.pop(0) #removes the first line
for line in f:
    ...
Run Code Online (Sandbox Code Playgroud)

  • 这会将整个文件一次读入内存,因此只有在您读取一个相当小的文件时才实用。 (3认同)

Vaj*_*ecz 8

如果切片可以在迭代器上工作......

from itertools import islice
with open(fname) as f:
    for line in islice(f, 1, None):
        pass
Run Code Online (Sandbox Code Playgroud)

  • 这是解决问题的一种非常好的 Python 方式,并且可以扩展到任意数量的标题行 (2认同)