Update calculate.py

main
p2apfqmgs 3 months ago
parent 4f4dda4e64
commit 49839bce03

@ -21,18 +21,43 @@ def main(a, w1):
def query_isbn(isbn, csv_path='datas/books.csv'):
"""
同步查询ISBN信息直接返回结果
:param isbn: ISBN编号字符串
:param csv_path: CSV文件路径默认当前目录
:return: 匹配记录字典或错误信息字符串
:param csv_path: CSV文件路径
:return: 匹配记录列表或错误信息字符串
"""
try:
with open(csv_path, 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
results = []
for row in reader:
if row['isbn'].strip() == isbn.strip():
results.append(row)
return results if results else ["未找到匹配的图书记录"]
except FileNotFoundError:
return [f"错误:文件 {csv_path} 不存在"]
except Exception as e:
return [f"查询失败:{str(e)}"]
def fuzzy_search_book(keyword, csv_path='datas/books.csv'):
"""
模糊搜索图书信息
:param keyword: 搜索关键词
:param csv_path: CSV文件路径
:return: 匹配记录列表或错误信息字符串
"""
try:
with open(csv_path, 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
results = []
for row in reader:
if row['isbn'].strip() == isbn.strip(): # 增加空格过滤
return row
return "未找到匹配的图书记录"
# 在书名、作者和分类中搜索关键词
if (keyword.lower() in row['title'].lower() or
keyword.lower() in row['author'].lower() or
keyword.lower() in row['category'].lower()):
results.append(row)
return results if results else "未找到匹配的图书记录"
except FileNotFoundError:
return f"错误:文件 {csv_path} 不存在"
except Exception as e:

Loading…
Cancel
Save