#!/usr/bin/python '''Moves a row from the pending sheet to the members sheet''' from openpyxl import load_workbook import argparse argparser = argparse.ArgumentParser(prog='addrow.py') argparser.add_argument('--row_num', required=True, help='One-indexed row number to move') argparser.add_argument('--infile', default='membership.xlsx', help='Input file name') argparser.add_argument('--outfile', default='membership.xlsx', help='Output file name') args = argparser.parse_args() wb = load_workbook(filename=args.infile) pending_sheet = wb.worksheets[2] current_sheet = wb.worksheets[0] # find first open row i = 1 while current_sheet.cell(row=i, column=1).value != None: i += 1 for col in 'ABCDEFGHI': # copy cell value into new row value = pending_sheet["%s%s" % (col, args.row_num)].value current_sheet["%s%d" % (col, i)].value = value # clear out old row pending_sheet["%s%s" % (col, args.row_num)].value = None wb.save(filename=args.outfile)