Ejemplo n.º 1
0
def remove_keys(sheet: Worksheet, keys: List[str]):
    rows = []
    _remove_keys = []
    col_num = get_id_field_cell(sheet).col
    for k in keys:
        try:
            cell = sheet.find(k, in_column=col_num)
            rows.append(cell.row)
            _remove_keys.append(k)
        except Exception as e:
            pass
    if rows:
        sheet.delete_rows(rows)
        print(f'remove {len(rows)} keys')
        print(_remove_keys)
Ejemplo n.º 2
0
def gsheet_read(worksheet: gspread.Worksheet) -> pandas.DataFrame:
    """
    Read the specified worksheet directly into a DataFrame
    and remove rows, where no ID is given.
    """

    if not worksheet:
        return pandas.DataFrame()
    dataframe = pandas.DataFrame(worksheet.get_all_records(), dtype=str)
    if len(dataframe.index) == 0:
        return pandas.DataFrame(columns=GSHEET_HEADER)

    # Remove rows where the ID is missing
    empty_rows = dataframe[dataframe['id'] == '']
    if len(empty_rows.index) > 0:
        for row in empty_rows.index:
            worksheet.delete_rows(start_index=row + 2)
            dataframe.drop(index=row, inplace=True)
        dataframe.reset_index(drop=True, inplace=True)

    return dataframe