I believe the title of this thread explains what I am looking for. I am curious to know what the syntax is for skipping multiple rows; I can't seem to find such information anywhere.
42 Answers
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) 3If you already know the row numbers you wish to skip, then you can also use:
import numpy as np InputFile = './Filename.txt' Dataset = np.loadtxt(InputFile, skiprows= 0 + 1 + 2 + 3 + 4 + 5) print(Dataset) This will skip the first five rows and print the remaining data.