String/regex search over Excel in Python issue
我是So的新手,对Python比较陌生,所以如果这是一个简单的修复或不适当的问题,我很抱歉。
首先,我的程序通常可以工作,但我正试图实现一些冗余/捕获,以使其健壮。
该程序查看Excel文件的目录(和子目录),分别打开它们,搜索数据(在特定的工作表上),并将其转储到一个csv。由于每个搜索项都有效地用于列头,因此涉及到循环,我希望在这下面有4个值。
我使用正则表达式定义搜索词。
我已经编写了一个函数来搜索Excel工作表中是否与正则表达式匹配。工作表在单元格中具有字符串和其他格式类型,因此字符串的类型(查询)。
1 2 3 4 5 6 7 | 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文件不包含我要搜索的词,但其他文件包含的时候添加冗余(它可以返回一些空白单元格的组合坐标,例如10001000或其他)。
我试过放一个
我想我有一个简单的逻辑问题,但我就是看不见;如果有人能给我一些建议,我会感激地(急切地)帮助我的。收到。
我回顾过的问题(但我还是迷路了):
在python中,如何测试变量是否为none、true或false
OpenPYXL+如何在Excel中搜索单元格中的内容,如果内容符合搜索条件,如何更新内容?
1 2 3 4 5 6 7 8 | 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] return [x,y] #x,y are the dummy locations |
只在for循环之后返回,只有在未找到匹配项时才会执行。