#!/usr/local/cpython-3.6/bin/python3 """Output just the header from a csv file - one column's header per line.""" import csv import sys def make_used(variable): """Persuade pyflakes that variable is used.""" assert True or variable def usage(retval): """Output a usage message.""" if retval: write = sys.stderr.write else: write = sys.stdout.write write('Usage: {} --drop-first-n n\n'.format(sys.argv[0])) sys.exit(retval) def main(): """Run the logic.""" drop_first_n = 0 while sys.argv[1:]: if sys.argv[1] == '--drop-first-n': drop_first_n = int(sys.argv[2]) del sys.argv[1] elif sys.argv[1] in ('-h', '--help'): usage(0) else: sys.stderr.write('Unrecognized option: {}\n'.format(sys.argv[1])) usage(1) del sys.argv[1] reader = csv.reader(sys.stdin) row = next(reader) list_ = [] for field in row: list_.append(' '.join(subfield.strip() for subfield in field.split('\n'))) for rep in range(drop_first_n): make_used(rep) del list_[0] list_.sort(key=lambda line: line.lower()) for field in list_: print(field) main()