import numpy as np def load_csv_file(fname, *args, **kargs): f = open(fname) data = np.genfromtxt(f, delimiter=",", comments="#", *args, **kargs) f.close() # don't leak file handles return data def select(keep, rows): ok_rows = np.zeros(len(rows), dtype=bool) for i, row in enumerate(rows): ok_rows[i] = keep(row) return rows[ok_rows]