code: def to_sqlite3(self, conn, target, *args, **kwargs):
          
          # pylint: disable=no-member
          insert_regex = re.compile(r'(insert|update)\s+into', flags=re.IGNORECASE)
          if insert_regex.match(target):
              insert_f = self._to_sqlite3_by_query
          else:
              insert_f = self._to_sqlite3_by_table
  
          if isinstance(conn, (sqlite3.Connection, sqlite3.Cursor)):
              insert_f(conn, target)
              conn.commit()
          elif isinstance(conn, str):
              with sqlite3.connect(conn, *args, **kwargs) as input_conn:
                  insert_f(input_conn, target)
                  input_conn.commit()
          else:
              raise ValueError('conn must be a must be a file path or sqlite3 Connection/Cursor')
docs: Saves the sequence to sqlite3 database.
          Target table must be created in advance.
          The table schema is inferred from the elements in the sequence
          if only target table name is supplied.
  
          >>> seq([(1, 'Tom'), (2, 'Jack')])\
                  .to_sqlite3('users.db', 'INSERT INTO user (id, name) VALUES (?, ?)')
  
          >>> seq([{'id': 1, 'name': 'Tom'}, {'id': 2, 'name': 'Jack'}]).to_sqlite3(conn, 'user')
  
          :param conn: path or sqlite connection, cursor
          :param target: SQL query string or table name
          :param args: passed to sqlite3.connect
          :param kwargs: passed to sqlite3.connect