【发布时间】:2019-12-06 21:04:24
【问题描述】:
在这里,我从不同的文档中获取名称和 zip 值;并存储在变量中:(工作正常)
Name = find_name.group(0)
然后我只想搜索我的excel文件以找到匹配项;在找到Name 文本值的地方,获取行号:
data = pd.read_excel(config.Excel2)
row_number = data[data['Member Name'].str.contains(Name)].index.min()
print(row_number)
上面打印时输出不正确的行号,我不明白为什么。 即它不会打印在我的 excel 文档中找到匹配文本值的行。它打印一个错误的行号,与Name 不匹配。
那么,我试过这样的;但这根本不输出任何东西:(outputs Key Error)
idx = data[data['Member Name'].str.contains(Name)].index
row_number = idx[0] if len(idx)>0 else None
print(row_number)
关于如何实现这一点的任何想法?
我的 excel 如下所示(大约有 11000 行,如下所示,8 列)。
A
1 | Member Name | Member Address Line 1 | Member Address Line 2
RHONDA GILBERT ADDRESS PT 1 ADDRESS PT 2 W/ ZIP
【问题讨论】:
-
能否请您显示
data.head()输出?你能举一个错误行号的例子吗? -
刚刚对此进行了测试并使用您的代码为我工作,您可以打印
Name = find_name.group(0)的输出吗 -
因此在两种情况下使用“成员名称”都会输出“KeyError”。使用其他列名有效,但输出不正确的行号(即未找到匹配文本的位置)
标签: python regex excel pandas python-3.7