Use help(np.loadtxt)
. You'll find the skiprows
parameter will allow you to skip the first N
rows:
In [1]: import numpy as np
In [2]: help(np.loadtxt)
Help on function loadtxt in module numpy.lib.npyio:
loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
...
skiprows : int, optional
Skip the first `skiprows` lines; default: 0.
Thus, to skip N
rows, you'd say
np.loadtxt(fname, skiprows=N)
If you need to filter rows other than the first N
rows, use np.genfromtxt
which can take an iterator which yields strings as its first argument:
with open(filename, 'r') as f:
lines = (line for line in f if predicate(line))
arr = np.genfromtxt(lines)
To skip a sequence of rows in the middle, such as rows 47--50, you could use itertools
like this:
import itertools as IT
with open(filename, 'r') as f:
lines = IT.chain(IT.islice(f, 46), IT.islice(f, 4, None))
arr = np.genfromtxt(lines)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…