簡體   English   中英

在 python 中顯示 sqlite3 數據

[英]Display sqlite3 data in python

我正在嘗試構建我的 sqlite3 數據庫的小 window 查看器,但不幸的是我找不到方法。 到目前為止,我已經達到了類似下面的內容,但顯示的是表格,而是顯示了代表 sqlite3 表格每一行的整套字典。

from tkinter import *
import sqlite3

main=Tk()
main.geometry('400x400')
main.title('Get data')

def show_data():
    with sqlite3.connect('Data.db') as db:
        c = db.cursor()
    c.execute("SELECT * FROM data")
    obj = c.fetchall()
    Label(main,text = obj).pack()

but = Button(main, text = 'Show',font = ('',10),command=show_data)
but.pack()

main.mainloop()

字典集

您可以將獲取的數據保存在 pandas DataFrame

import pandas as pd

def show_data():
    with sqlite3.connect('Data.db') as db:
        df = pd.read_sql_query("SELECT * FROM data", c)

    Label(main,text = df).pack()

有點破解它的方式

def show(self):
        conn = sqlite3.connect('Data.db')
        c = conn.cursor()
        c.execute("SELECT * From data")
        records = c.fetchall()
        print_records = ''
        for record in records:
            print_records += str(record[0])+"  "+"\n"+str(record[1])+"  "+str(record[2])+"  "+str(record[3])+"  "+str(record[4])+"  "+str(record[5])+"  "+str(record[6])+"  "+str(record[7])+"  "+str(record[8])+"  "+str(record[9])+"  "+str(record[10])+"  "+str(record[11])+"  "+str(record[12])+"  "+str(record[13])+"  "+str(record[14])+"  "+str(record[15])+"  "+str(record[16])+"  "+str(record[17])+"  "+str(record[18])+"  "+str(record[19])+"  "+str(record[20])+"  "+str(record[21])+"  "+str(record[22])+"  "+str(record[23])

        query_label = Label(self.main, text = print_records)
        query_label.grid(sticky = E, row=5, column=0, pady = 45, columnspan=23)
        conn.commit()
        conn.close()

但感謝提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM