[英]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.