diff --git a/tools/create_from_spreadsheet.py b/tools/create_from_spreadsheet.py new file mode 100755 index 0000000..30dff39 --- /dev/null +++ b/tools/create_from_spreadsheet.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 + +""" +This is meant to take the fronius provided spreadsheet and munge it into +a list of FroniusRegisters and ScaledFroniusRegisters +""" + +import pandas +import argparse + +from pathlib import Path + + + + + +def main(): + + parser = argparse.ArgumentParser( + prog="create_from_spreadsheet", + description="Generate python registers from the given spreadsheet") + + parser.add_argument('filename') + parser.add_argument('-o', '--output') + + args = parser.parse_args() + + input_file = Path(args.filename) + + if args.output is None: + output_file = Path(input_file.stem + '.py') + else: + output_file = Path(args.output) + + input_df = pandas.read_excel(open(input_file, 'rb'), header=0, skiprows=2) + + # Coerce strings to ints so we can sort + input_df = input_df[input_df['Start'].apply(lambda x: isinstance(x, (int)))] + + # sort on Start register + + + print(input_df.columns) + print(input_df.sort_values(['Start'])) + + +if __name__ == '__main__': + main() +