37 lines
1.1 KiB
Python
Executable File
37 lines
1.1 KiB
Python
Executable File
#!/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
|