Python问题:查询特定的港口名称,找到所在单元格(几十到上百个不等)后,输出单元格所在行,并保存新excel

问题遇到的现象和发生背景

需要对50个港口进行研究,研究材料是一个年度总表excel,关注其中的sheet——data2017,港口名称分布在AB两列,每次筛选一个港口,找出港口名称所在行,并输出该行至新的excel,重复50次,但数据要在新sheet里相连

img

问题相关代码,请勿粘贴截图
#!/usr/bin/python
from openpyxl import load_workbook
import pandas as pd

def find_row(num_value,file_name):
    """
    Returns the row number based on the value of the specified cell
    """
    demo_df = pd.read_excel(file_name)
    for indexs in demo_df.index:
        for i in range(len(demo_df.loc[indexs].values)):
            if (str(demo_df.loc[indexs].values[i]) == num_value):
                row = str(indexs+2).rstrip('L')
                return row
#确定行号

wb = load_workbook('C:/Users/JYB/Desktop/data2017-船公司航线数据.xlsx')
sheet = wb['data2017']

NAME = ['鹿特丹']  #50个港口
for r in range(1, sheet.max_row+1):
    for c in range(1, sheet.max_column+1):
        v = sheet.cell(row=r, column=c)
        for name in NAME:
            if v == name:
                row_num = find_row(v,'C:/Users/JYB/Desktop/data2017-船公司航线数据.xlsx')
                print(row_num)

运行结果及报错内容

未完成,结果是查询到第一个鹿特丹后就不断重复其所在行。

我的解答思路和尝试过的方法
我想要达到的结果

需要对50个港口进行研究,研究材料是一个年度总表excel,关注其中的sheet——data2017,港口名称分布在AB两列,每次筛选一个港口,找出港口名称所在行,并输出该行至新的excel,重复50次,但数据要在新sheet里相连

代码没看出循环有问题,
可以这样测试一下,是否完全遍历了数据。

NAME = ['鹿特丹']  #50个港口
for r in range(1, sheet.max_row+1):
    for c in range(1, sheet.max_column+1):
        v = sheet.cell(row=r, column=c).value
        for name_item in NAME:
            if v == name_item :
                print(r,c,v)