Merge with Bitcoin v0.6.3
[novacoin.git] / bitcointools / jsonToCSV.py
1 #!/usr/bin/env python
2 #
3 # Reads an array of JSON objects and writes out CSV-format,
4 # with key names in first row.
5 # Columns will be union of all keys in the objects.
6 #
7
8 import csv
9 import json
10 import sys
11
12 json_string = sys.stdin.read()
13 json_array = json.loads(json_string)
14
15 columns = set()
16 for item in json_array:
17   columns.update(set(item))
18
19 writer = csv.writer(sys.stdout)
20 writer.writerow(list(columns))
21 for item in json_array:
22   row = []
23   for c in columns:
24     if c in item: row.append(str(item[c]))
25     else: row.append('')
26   writer.writerow(row)
27