我是SO的新手,对Python也相对陌生,所以如果这是一个简单的修复或不恰当的问题,我很抱歉。
首先,我的程序一般工作,但我试图实现一些冗余/catchalls,使其健壮。
该程序查看Excel文件的目录(和子目录),单独打开它们,搜索数据(在特定的工作表上),并将其转储到csv。由于每个搜索词都有效地用于列的标题,因此涉及到循环,我希望在此下面有4个值。
我使用正则表达式来定义搜索项。
我编写了一个函数,在Excel工作表中搜索正则表达式的匹配项。工作表的单元格中有字符串和其他格式类型,因此有字符串类型(查询)。
def SearchXLWithRe(regex)
for i in range(1, Row_limit): # row limit is defined by OpenPyXL module
for j in range(1, Column_limit): # same here for column limit
query = ws.cell(row = i, column = j).value
if type(query) == str: # i only want to look at strings
if regex.search(query): # of the responses that are strings, i want to match to the regex
return [i,j]
这个函数用于搜索字符串(到目前为止一直是这样)。我想添加冗余,当 * 一些 * excel文件不包含我想搜索的术语,但其他人会(它可能只是返回一些弥补坐标的空白单元格,如1000,1000或其他东西)。
我试过输入一个else
,但由于它在Excel文档上循环并查找多个字符串,因此所有返回的都是None。
我想我有一个简单的逻辑问题,但我就是看不出来;如果有人能给我一些指点,我会感激地(和热切地!)接受帮助。
我已经复习过的问题(但我还是不懂):
In Python how should I test if a variable is None, True or False
OpenPyXL + How can I search for content in a cell in Excel, and if the content matches the search criteria update the content?
1条答案
按热度按时间jdgnovmf1#
在for循环之后返回,只有在没有找到匹配时才会执行。