123456789101112131415161718192021222324252627282930313233 |
- import argparse
- import pandas as pd
- import numpy as np
- import json
- from pathlib import Path
- if __name__ == '__main__':
- CLI = argparse.ArgumentParser()
- CLI.add_argument("--output", nargs='?', type=str)
- CLI.add_argument("--input", nargs='?', type=str)
- CLI.add_argument("--params", nargs='?', type=str, default='')
- args, unknown = CLI.parse_known_args()
- if len(args.params):
- params = dict([param.split('=') for param in args.params.split(',')])
- else:
- params = {}
- add_params = dict([(k.strip('-'),v) for k,v in zip(unknown[:-1:2],unknown[1::2])])
- params.update(add_params)
- ext = Path(args.input).suffix
- if ext == '.npy':
- input = np.load(args.input, allow_pickle=True).item()
- elif ext == '.json':
- input = json.load(open(args.input))
- else:
- raise ValueError(f"Can't handle file type {ext}")
- params['score'], params['pvalue'] = input['score'], input['pvalue']
- df = pd.Series(params).to_frame().T
- df.to_csv(args.output)
|