pyFroniusReg/tools/create_from_spreadsheet.py

49 lines
1 KiB
Python
Executable file

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