def query_data(self, query_str, table): # 清空表格内容 table.delete(*table.get_children()) # 获取查询条件 query_col = 8 # 遍历表格数据,找到符合条件的数据 for row in self.data_sheet.iter_rows(min_row=2, values_only=True): if str(row[query_col - 1]).startswith(query_str): row_values = [str(cell) if cell is not None else "" for cell in row] table.insert("", tk.END, values=row_values)將這個函數中查詢8列修改為可以查詢多列的内容如第一列和第8列
时间: 2024-02-14 14:16:39 浏览: 122
python 使用get_argument获取url query参数
可以将原来的查询条件 `query_col = 8` 修改为一个包含多个列号的列表,例如 `query_cols = [1, 8]`,然后在遍历表格数据时,将条件改为判断这些列中是否有任意一个满足查询条件即可。修改后的代码如下:
```
def query_data(self, query_str, table):
# 清空表格内容
table.delete(*table.get_children())
# 获取查询条件
query_cols = [1, 8]
# 遍历表格数据,找到符合条件的数据
for row in self.data_sheet.iter_rows(min_row=2, values_only=True):
if any([str(row[col-1]).startswith(query_str) for col in query_cols]):
row_values = [str(cell) if cell is not None else "" for cell in row]
table.insert("", tk.END, values=row_values)
```
这样修改后,就可以同时查询第一列和第8列了。
阅读全文