Отличительный результат запроса SQLite к списку или кортежу Python - PullRequest
0 голосов
/ 06 июня 2019

У меня есть запрос, который возвращает, например, следующий результат:

Row1: "Schmidt"
Row2: "Schmidt, Meier"
Row3: "Mustermann, Schmidt"

Вопрос: как получить результаты в кортеже или списке Python и т. Д.? Я хотел бы следующий список:

"Meier, Mustermann, Schmidt".

Каждое имя появляется только один раз.

Python-код, который выполняет запрос (используется для заполнения записей в поле со списком):

Класс DatabaseManager (объект): def init (self, db): self.conn = sqlite3.connect (дБ) self.cur = self.conn.cursor ()

def get_names(self):
        sSql = "SELECT   DISTINCT name "\
               "  FROM   patient "\
               " ORDER BY 1"
        return self.cur.execute(sSql)

И это вызывается из экземпляра, который заполняет результаты в поле со списком:

def populate_names(self, combobox):
        rows = self.db.get_names()
        for row in rows:
            combobox.addItem(row[0])

1 Ответ

0 голосов
/ 06 июня 2019

Создать пустой список для хранения имен.

Прокручивать каждое имя в результате запроса.

Если текущего имени еще нет в списке, добавьте его.

Примерно так:

names = []
for row in sql_result:
    if row['name'] not in names:
        names.append(row['name'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...