def load_csv_rows(fname, conversions=None, **kwargs): log.info("Loading %s", fname) with opener('rU')(fname) as fp: lines = (i for i in fp if not i.startswith('#')) r = csv.DictReader(lines, **kwargs) for row in r: row['source'] = fname if conversions: for k, f in conversions: row[k] = f(row[k]) yield row
def build_parser(p): p.add_argument('infiles', metavar='infile', nargs='+') p.add_argument('--prefix', default='') p.add_argument('-o', '--outfile', default=sys.stdout, type=opener('w')) p.set_defaults(func=action)