Как вывести все элементы определенного столбца базы данных sqlite3(python)?



@GashhLab

У меня есть база данных, в которую верно внесены все значения. Пишу такой код на python:

checkers_subject_list = checkers_db_script.get_checkers_id(subject)
for key in checkers_subject_list:
    print(key)

Описание модуля checkers_db_script:

import sqlite3

def get_checkers_id(subject):
    conn = sqlite3.connect("checkers_list.db")
    c = conn.cursor()
    c.execute(f"SELECT checker_id FROM checkers WHERE subject="{subject}"")
    return c.fetchall()

То есть, как я понял из описания функции fetchall, мне должен вернуться список из элементов checker_id, которые в базе все изначально integer. Список действительно возвращается, но каждый элемент в нём выглядит как-то так: (522472272,)
Как это исправить и получить список из элементов, записанных нормально: 522472272? Или, может, это можно сделать вообще как-то иначе, заранее спасибо.


Решения вопроса 1



@bacon

Автор знает, что fetchall возвращает список, теперь автору пора узнать, что элементы этого списка – кортежи (tuple). Осталось почитать основы python и узнать, как работать с этим типом данных.



1

комментарий


Ответы на вопрос 1



@SashaN69

def get_checkers_id(subject):
        conn = sqlite3.connect("checkers_list.db")
        c = conn.cursor()
        с.execute(
            f"SELECT checker_id FROM checkers WHERE subject="{subject}"")
        rows = с.fetchall()
        l = []
        for row in rows:
            for x in row:
                l.append(x)
        return l

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *