Exemple #1
0
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
Exemple #2
0
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