Python 在excel中搜索特定文本(文本模式),并使用openpyxl将生成的所有行复制到同一工作簿中的另一个工作表中
我有一个包含多张工作表的excel文件,第3列(包含大约500行)的工作表3包含各种名称。我想在第3列中搜索特定文本,如果匹配,则将整行连同标题行复制到同一excel中的新工作表中 “名称列”的问题是,大多数文本都引用相同的项目,但命名约定不同,因此: अपर तहसीलदार, नायाब तहसीलदार, नायब तहसीलदार,Python 在excel中搜索特定文本(文本模式),并使用openpyxl将生成的所有行复制到同一工作簿中的另一个工作表中,python,excel,openpyxl,Python,Excel,Openpyxl,我有一个包含多张工作表的excel文件,第3列(包含大约500行)的工作表3包含各种名称。我想在第3列中搜索特定文本,如果匹配,则将整行连同标题行复制到同一excel中的新工作表中 “名称列”的问题是,大多数文本都引用相同的项目,但命名约定不同,因此: अपर तहसीलदार, नायाब तहसीलदार, नायब तहसीलदार, अतिरिक्त तहसीलदार 指的是相同的项目,但写的不同,所以我必须搜索所有的变体 我之前没有Python或openpyxl背景,因此到目前为止我得
अतिरिक्त तहसीलदार 指的是相同的项目,但写的不同,所以我必须搜索所有的变体 我之前没有Python或openpyxl背景,因此到目前为止我得到的是:
import openpyxl
wb = openpyxl.load_workbook(r'C:/Users/Anas/Downloads/rcmspy.xlsx')
#active worksheet data
ws = wb.active
def wordfinder(searchString):
for i in range(1, ws.max_row + 1):
for j in range(1, ws.max_column + 1):
if searchString == ws.cell(i,j).value:
print("found")
print(ws.cell(i,j))
wordfinder("अपर तहसीलदार")
它没有显示任何错误,但也不打印任何内容。
excel工作表如下所示:
我不确定,但我想提出以下建议:
variants = {'alpha','alfa','elfa'}
data = []
rowCount = 0
for row in ws.values:
//each row is an array of cells
if rowCount == 0:
//header row
data.append(row)
elif row[2] in variants:
data.append(row)
rowCount += 1
wsNew = wb.create_sheet('Variations')
for line in data:
wsNew.append(line)
wb.save('newWorkbook.xlsx')