將這段代碼從excel篩選改爲從sqlite3,在進行判斷,其他條件不變
时间: 2023-08-13 22:58:27 浏览: 86
我明白了,您希望将代码从Excel筛选更改为从SQLite3数据库进行筛选,但保持其他条件不变。以下是修改后的代码:
```python
import sqlite3
import datetime
# 连接到 SQLite 数据库文件,并创建游标对象 cursor()
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
# 获取当前日期
today = datetime.datetime.now().strftime('%Y/%m/%d')
for i, sheet_name in enumerate(self.sheet_names):
filtered_rows = []
# 构建查询语句
query = f"SELECT * FROM your_table WHERE 點檢日期 = '{today}' AND 列名 = '{sheet_name}'"
# 执行查询
cursor.execute(query)
# 获取查询结果
rows = cursor.fetchall()
# 判断是否有符合条件的行
if rows:
label = self.unique_listbox.grid_slaves(row=i // 3, column=i % 3)[0]
label.config(text=f"{sheet_name} - 已點檢", fg="green")
else:
label = self.unique_listbox.grid_slaves(row=i // 3, column=i % 3)[0]
label.config(text=f"{sheet_name} - 未點檢", fg="red")
# 关闭数据库连接
conn.close()
```
请注意,您需要将代码中的`'your_database.db'`替换为您的SQLite3数据库文件路径,`'your_table'`替换为要查询的表格名称,`'點檢日期'`和`'列名'`替换为实际的列名。
这段代码首先连接到SQLite3数据库,并根据当前日期和工作表名称构建查询语句。然后执行查询并获取结果,根据结果设置标签的文本和颜色。
希望这次的回答符合您的要求。如果还有其他问题,请随时提问。
阅读全文