#!/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()