Mercurial > hg > numerics
view numerics/split_table.py @ 180:69543d62ae7a
more split stubbing
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Tue, 09 Aug 2016 14:34:31 -0700 |
parents | f63194f81f7d |
children | 4f474ceb9beb |
line wrap: on
line source
#!/usr/bin/env python """ split a CSV file with a header into parts """ # imports import argparse import csv import chunk import sys import table class SplitTableParser(table.TableParser): def add_arguments(self): self.add_argument('input', type=argparse.FileType('r'), help="input CSV file") self.add_argument('-o', '--output', dest='output', type=argparse.FileType('w'), default=sys.stdout, help="output file to write to, or stdout by default") self.add_argument('-c', '--column', dest='columns', nargs='+', help="column names to output") self.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=False, help="be verbose") def main(args=sys.argv[1:]): """CLI""" # parse command line parser = SplitTableParser(description=__doc__) options = parser.parse_args(args) # read CSV data = parser.read_table() header = data[0].keys() for index, row in enumerate(data): print '{index}'.format(index=index) output_data = [list(header)] if __name__ == '__main__': main()