Как напечатать таблицу в sqlite3 вместе с именами столбцов в python, используя al oop, и как именно получить имена столбцов? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть база данных студентов с 7 столбцами. Когда я пытаюсь напечатать вывод напрямую, вывод печатается в формате [(r1, r2, r3, r4 ...), (), (), ....] без имен столбцов. Поэтому я решил провести l oop через значения и записал это:

c.execute("select * from student")
rows = c.fetchall()
for row in rows:
    print("s_id",row[0])
    print("s_name,row[1])
    .
    .until the table ends

Есть ли способ, с помощью которого я могу получить имена своих столбцов напрямую, чтобы я мог написать их с помощью одного оператора печати внутри приведенного выше л oop ?????? например: что-то вроде этого

c.execute("select * from student")
rows = c.fetchall()
for row in rows:
    print("table_name[i]",row[i])

, где имя таблицы - это список имен столбцов

1 Ответ

0 голосов
/ 22 апреля 2020
import sqlite3
connection = sqlite3.connect('~/foo.sqlite')
cursor = connection.execute('select * from student')
# Get the name of columns
names = [description[0] for description in cursor.description]
rows = cursor.fetchall()
for row in rows:
    for name, val in zip(names,row):
        print( name, val)

используйте cursor.description для понимания списка, как показано выше.

...