python实现Levenshtein算法从excel表里面读取与关键字相似的名称全部方法
以下是Python实现Levenshtein算法从Excel表里面读取与关键字相似的名称的全部方法:
- 使用pandas库读取Excel表格,并使用Levenshtein模块计算字符串相似度。
import pandas as pd
import Levenshtein
# 读取Excel表格
df = pd.read_excel('data.xlsx')
# 定义关键字
keyword = 'apple'
# 遍历Excel表格中的每个名称,计算与关键字的相似度
for name in df['name']:
similarity = Levenshtein.ratio(keyword, name)
if similarity > 0.8: # 相似度阈值为0.8,可根据实际需求调整
print(name)
- 使用xlrd库读取Excel表格,并使用Levenshtein模块计算字符串相似度。
import xlrd
import Levenshtein
# 读取Excel表格
workbook = xlrd.open_workbook('data.xlsx')
sheet = workbook.sheet_by_index(0)
# 定义关键字
keyword = 'apple'
# 遍历Excel表格中的每个名称,计算与关键字的相似度
for i in range(1, sheet.nrows):
name = sheet.cell_value(i, 0)
similarity = Levenshtein.ratio(keyword, name)
if similarity > 0.8: # 相似度阈值为0.8,可根据实际需求调整
print(name)
- 使用openpyxl库读取Excel表格,并使用Levenshtein模块计算字符串相似度。
import openpyxl
import Levenshtein
# 读取Excel表格
workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active
# 定义关键字
keyword = 'apple'
# 遍历Excel表格中的每个名称,计算与关键字的相似度
for row in sheet.iter_rows(min_row=2, values_only=True):
name = row[0]
similarity = Levenshtein.ratio(keyword, name)
if similarity > 0.8: # 相似度阈值为0.8,可根据实际需求调整
print(name)
需要注意的是,以上三种方法都需要安装Levenshtein模块,可以使用以下命令安装:
pip install python-Levenshtein
原文地址: https://www.cveoy.top/t/topic/bKR8 著作权归作者所有。请勿转载和采集!