一行一行的读取文件数据,分析每一行中数据与目标字符串的相似度,设置相似度阈值,把高相似度的行数据输出,Python实现。
简单的说,给定一个关键词,然后在一个文件中搜索包含这个关键词的以行为单位的数据。
from fuzzywuzzy import fuzz
FILE_PATH = r'c:\data.json'
KEY = r'要寻找的关键词'
threshold = 0
if __name__ == '__main__':
with open(FILE_PATH, 'r', encoding='UTF-8') as f:
cnt = 1
for line in f:
pr = fuzz.partial_ratio(line, KEY)
if pr > threshold:
print('-----')
s = '第{number}行,相似度{ratio}\n{content}'
ss = s.format(number=cnt, ratio=pr, content=line)
print(ss)
cnt = cnt + 1
f.close()