diff options
-rwxr-xr-x | extract_excess.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/extract_excess.py b/extract_excess.py new file mode 100755 index 0000000..1983859 --- /dev/null +++ b/extract_excess.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Extract the excess value and ratio results. +# +# Aaron LI +# Created: 2016-04-27 +# + +import sys +import os +import json +import csv +import argparse +from collections import OrderedDict + + +def extract_excess(data): + """ + Extract the excess value and ratio as well as other misc information + from the "data" dictionary. + """ + results = OrderedDict([ + ("name", data["name"]), + ("obsid", data["obsid"]), + ("model", data["model"]), + ("brightness_obs", data["brightness_obs"]), + ("brightness_model", data["brightness_model"]), + ("excess_value", data["excess_value"]), + ("excess_ratio", data["excess_ratio"]), + ]) + return results + + +def main(): + parser = argparse.ArgumentParser( + description="Extract excess results from excess.json") + parser.add_argument("excess_json", nargs="?", default="excess.json", + help="json file conatins excess results (default: excess.json)") + args = parser.parse_args() + + excess_data = json.load(open(args.excess_json)) + results = extract_excess(excess_data) + + # output results + csv_writer = csv.writer(sys.stdout) + csv_writer.writerow(results.keys()) + csv_writer.writerow(results.values()) + + +if __name__ == "__main__": + main() + |