Python - Convert sqlite3 rows to dictionary


def convert_sqlite_row_to_dict(row, n: int):
    """
    Convert a single row of rows returned by a select query of sqlite3.
    :param row:
    :param n: The number of the first n columns those are grouped by.
    :return:
    """

    row_dict = {}
    for i in range(n - 1, -1, -1):
        if i == n - 1:
            tmp_dict = {f'{row[i]}': row[i+1:]}
        else:
            tmp_dict = {f'{row[i]}': tmp_dict}

    update_dict_cascade(row_dict, tmp_dict)

    return row_dict


def convert_sqlite_rows_to_dict(rows: list, n: int):
    """
    Convert a list of rows returned by a select query of sqlite3.
    :param rows:
    :param n: The number of the first n columns those are grouped by.
    :return:
    """

    rows_dict = {}
    for i, row in enumerate(rows):
        row_dict = convert_sqlite_row_to_dict(row, n)
        update_dict_cascade(rows_dict, row_dict)

    return rows_dict