179
|
1 #!/usr/bin/env python
|
|
2
|
|
3 """
|
|
4 split a CSV file with a header into parts
|
|
5 """
|
|
6
|
|
7 # imports
|
|
8 import chunk
|
|
9 import sys
|
|
10 import table
|
|
11
|
|
12 class SplitTableParser(table.TableParser):
|
|
13
|
|
14 def add_arguments(self):
|
|
15 self.add_argument('input', type=argparse.FileType('r'),
|
|
16 help="input CSV file")
|
|
17 self.add_argument('-o', '--output', dest='output',
|
|
18 type=argparse.FileType('w'), default=sys.stdout,
|
|
19 help="output file to write to, or stdout by default")
|
|
20 self.add_argument('-c', '--column', dest='columns', nargs='+',
|
|
21 help="column names to output")
|
|
22 self.add_argument('-v', '--verbose', dest='verbose',
|
|
23 action='store_true', default=False,
|
|
24 help="be verbose")
|
|
25
|
|
26
|
|
27 def main(args=sys.argv[1:]):
|
|
28 """CLI"""
|
|
29
|
|
30 # parse command line
|
|
31 parser = SplitTableParser(description=__doc__)
|
|
32 options = parser.parse_args(args)
|
|
33
|
|
34 # read CSV
|
|
35 data = parser.read_table()
|
|
36
|
|
37 print 'hi'
|
|
38
|
|
39 if __name__ == '__main__':
|
|
40 main()
|