def remove_worksheet_rows( *, ws: Worksheet, rows_to_remove: List[int] ) -> Worksheet: """ Remove worksheet rows. Parameters ---------- ws : Worksheet A worksheet from a workbook. rows_to_remove: List[int] The list of row numbers to remove. Returns ------- ws : Worksheet A worksheet from a workbook. Example ------- >>> import datasense as ds >>> ws = ds.remove_worksheet_rows( >>> ws=ws, >>> rows_to_remove=rows_to_remove >>> ) """ for row in reversed(rows_to_remove): ws.delete_rows( idx=row, amount=1 ) return ws
def remove_empty_worksheet_rows( *, ws: Worksheet, empty_rows: List[int] ) -> Worksheet: """ Delete empty worksheet rows. Parameters ---------- ws : Worksheet A worksheet from a workbook. empty_rows : List[int] List of row numbers. Returns ------- ws : Worksheet A worksheet from a workbook. Example ------- Remove empty rows found. >>> import datasense as ds >>> ws = ds.remove_empty_worksheet_rows( >>> ws=ws, >>> empty_rows=empty_rows >>> ) """ for row_idx in reversed(empty_rows): ws.delete_rows( idx=row_idx, amount=1 ) return ws
def fill_sheet(sheet: Worksheet, sample_data: Dict[str, Dict[str, str]]): # delete example row sheet.delete_rows(3) # get column letter for each field columns = {col[0].value: col[0].column_letter for col in sheet.columns} if "covv_virus_name" in sample_data[list(sample_data.keys())[0]]: data = sorted(sample_data.values(), key=lambda x: x["covv_virus_name"]) else: data = [v for k, v in sorted(sample_data.items(), key=lambda x: x[0])] for i, row in enumerate(data, start=3): for k, v in row.items(): sheet[f"{columns[k]}{i}"].value = v