#!/usr/bin/env python3 import argparse import sys import logging import json import csv if __name__ == '__main__': # Parsing arguments log = logging.getLogger('json_to_csv') parser = argparse.ArgumentParser( description="TODO") parser.add_argument( # '-i', '--input', type=argparse.FileType('rb'), default=sys.stdin.buffer, '-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="TODO") parser.add_argument( # '-i', '--output', type=argparse.FileType('wb'), default=sys.stdout.buffer, '-o', '--output', type=argparse.FileType('w'), default=sys.stdout, help="TODO") args = parser.parse_args() writer = csv.writer(args.output) for line in args.input: data = json.loads(line) try: writer.writerow([ data['type'][0], # First letter, will need to do something special for AAAA data['timestamp'], data['name'], data['value']]) except (KeyError, json.decoder.JSONDecodeError): log.error('Could not parse line: %s', line) pass