ValueError: Value must be either numerical or a string containing a wildcard
时间: 2024-03-01 13:52:16 浏览: 282
这个错误通常表示您提供的值不是数字或不是包含通配符的字符串。请检查您的输入并确保它符合所需的格式。通配符是一种特殊字符,用于表示任何字符或任何数量的字符。在Python中,通配符通常使用`*`表示。
如果您正在使用类似于SQL的查询语言,则可以使用通配符来搜索包含特定字符串的值。例如,使用`LIKE`运算符和`%`通配符,可以搜索包含特定字符串的所有值。以下是一个示例代码,它使用`LIKE`运算符和`%`通配符来执行类似于SQL的模糊查询:
```
# 获取所有查询条件
date = self.date_entry.get()
name = self.line_entry1.get()
name1 = self.line_entry2.get()
name2 = self.line_entry3.get()
# 查询数据
ws = openpyxl.load_workbook(output_path2).active
rows = ws.iter_rows(min_row=1, values_only=True)
records = []
header = next(rows)
for row in rows:
# 模糊匹配名称
if (not date or row[2].strftime('%Y/%m/%d').find(date) != -1) and \
(not name or name in row[5]) and \
(not name1 or name1 in row[8]) and \
(not name2 or name2 in row[6]):
records.append(row)
```
在上面的代码中,我们使用`find()`方法来搜索日期字符串是否包含用户输入的子字符串,并使用`in`运算符来搜索其他列中的字符串是否包含用户输入的子字符串。请注意,在模糊匹配名称时,我们使用了`in`运算符而不是`==`运算符,这允许我们搜索包含特定字符串的所有值。
阅读全文