# Fix of https://gist.github.com/paulgb/5265767

import json
import pandas as pd
from glob import glob
import sys


def convert(x):
    ob = json.loads(x)
    new_ob = {}
    for k, v in ob.items():
        if isinstance(v, list):
            new_ob[k] = ','.join(v)
        elif isinstance(v, dict):
            for kk, vv in v.items():
                new_ob['%s_%s' % (k, kk)] = vv
        else:
            new_ob[k] = v
    return new_ob


def main(filename):
    json_file = open(filename, "r", encoding="utf8")
    df = pd.DataFrame([convert(line) for line in json_file])
    csv_filename = '%s.csv' % filename[:-5]
    df.to_csv(csv_filename)


if __name__ == '__main__':

    if len(sys.argv) == 0:
        sys.exit("Target file is missing.")

    for i in range(1, len(sys.argv) + 1):
        main(sys.argv[i])
