【发布时间】:2020-04-25 09:25:33
【问题描述】:
我刚刚开始使用 gspread 并寻找有关搜索工作表的一些建议。我想搜索多个字符串并获取两个字符串都存在的特定行的结果。两个字符串必须匹配一个结果(逻辑与)
搜索字符串的一个示例是搜索 IP 地址和主机名。在工作表中,IP 地址将在单元格 A1 中,主机名将在 B1 中。
我正在使用他们文档中的以下代码示例,并尝试了各种迭代,但运气不佳。
amount_re = re.compile(r'(192.168.0.1|Gi0/0.100)')
cell = worksheet.find(amount_re)
这是数据的格式:
192.168.0.1,Gi0/0.100
192.168.0.1,Gi0/0.200
192.168.0.1,Gi0/0.300
192.168.0.2,Gi0/0.100
如您所见,A 列和 B 列中有重复项,因此获得唯一结果的唯一方法是同时搜索两者。例如
192.168.0.1,Gi0/0.100
不过,它需要采用 Gspread 搜索格式。我不能只搜索字符串 '192.168.0.1,Gi0/0.100'
【问题讨论】:
-
我可以问你关于你的问题吗?根据您的问题,我可以理解用于搜索的字符串值放在单元格“A1:B1”中。我能问一下您要搜索的数据信息吗?不幸的是,我无法从你的问题中理解它。这是因为我的英语水平不好。我必须为此道歉。
-
我已经更新了这个问题。我可以获得“唯一”结果的唯一方法是搜索两个字符串,因为 A 列和 B 列中有重复项。
-
感谢您回复并添加更多信息。关于
the results of the specific row where both strings exist.,您要检索搜索行的单元格的值吗?或者您想检索搜索行的行号?您要检索哪个? -
谢谢。真的,我只是想看看该搜索匹配是否在 Google 表格中。但是能够获取行号和单元格数据也很有用。作为背景,我的脚本现在使用本地 csv 工作。它会审计网络设备,当在设备上完成时,它会在 csv 中添加一个条目。稍后当我重新运行时,它会在 csv
if search_str in entry中进行迭代和搜索,如果存在则跳过该条目。 csv 中的搜索字符串将是例如192.168.0.1,Gi0/0.100 现在我想迁移到工作表和 gspread 并做同样的事情。 -
感谢您的回复。根据您的回复和问题,我提出了 2 种模式的示例脚本作为答案。你能确认一下吗?如果我误解了您的问题并且这不是您想要的方向,我深表歉意。