Skip to content

Instantly share code, notes, and snippets.

@bsmithgall
Created August 25, 2015 21:31
Show Gist options
  • Save bsmithgall/c3a799a881e6005c2e5f to your computer and use it in GitHub Desktop.
Save bsmithgall/c3a799a881e6005c2e5f to your computer and use it in GitHub Desktop.
QScend json -> csv
# -*- coding: utf-8 -*-
import json
import csv
import urllib2
def load_from_url(url):
raw_data = urllib2.urlopen(url).read().decode('utf-8').rstrip()
# standardize file endings
raw_data = raw_data.replace('\r\n', '\n').replace('\r', '\n')
return json.loads(raw_data.rstrip('\n'))
def load_from_file(filename):
with open(filename) as f:
raw_data = f.read()
raw_data = raw_data.replace('\r\n', '\n').replace('\r', '\n')
return json.loads(raw_data.rstrip('\n'))
def load_json(target, from_file=False):
if from_file:
return load_from_file(target)
return load_from_url(target)
if __name__ == '__main__':
data = load_json('./input.json', from_file=True)
with open('./output2.csv', 'w') as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
for row in data:
writer.writerow({k: unicode(v).encode('utf-8') for k, v in row.items()})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment