<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_sqlite_columns(connection, table):
 """ Returns list of tuple containg columns of the table. Args: connection: sqlalchemy connection to sqlite database. table (str):
 name of the table Returns: list of (name, datatype, position):
 where name is column name, datatype is python type of the column, position is ordinal position of the column. """

    # TODO: Move to the sqlite wrapper.
    # TODO: Consider sqlalchemy mapping.
    SQL_TO_PYTHON_TYPES = {
        'INT': int,
        'INTEGER': int,
        'TINYINT': int,
        'SMALLINT': int,
        'MEDIUMINT': int,
        'BIGINT': int,
        'UNSIGNED BIG INT': int,
        'INT': int,
        'INT8': int,
        'NUMERIC': float,
        'REAL': float,
        'FLOAT': float,
        'DOUBLE': float,
        'BOOLEAN': bool,
        'CHARACTER': str,
        'VARCHAR': str,
        'TEXT': str
    }
    query = 'PRAGMA table_info(\'{}\');'
    result = connection.execute(query.format(table))
    ret = []

    for row in result:
        position = row[0] + 1
        name = row[1]
        datatype = row[2]
        try:
            datatype = SQL_TO_PYTHON_TYPES[datatype]
        except KeyError:
            raise Exception(
                'Do not know how to convert {} sql datatype to python data type.'
                .format(datatype))
        ret.append((name, datatype, position))
    return ret