更新: 如果sec_good为空,则将其添加为“ 0”即可解决问题。
我正在解析非结构化pdf并返回一些选择变量。当检查列表中的特定模式时,我遇到了一个小问题,因为每个列表都不相同。
95%的列表包含我在sec_good [0] [1]中寻找的内容,但是如果那里什么也没有,则循环显然会中断并引发索引错误。有没有办法检查sec_good [0]是否存在而没有中断?
例如:
secs = re.finadall(regex,lines)
sec_re = r"(Find the pair I'm looking for and replace the divider with --)"
for o in secs:
for p in o:
if len(p) != 0:
p = re.sub(sec_re,"--",p)
p = p.split("--")
print("p is %s" % p)
print("len p is %s" % len(p))
sec_good.append(p)
if len(sec_good) == 0: ###This works.
sec_good.append("0") ##
if len(sec_good) >= 1:
Section.append(sec_good[0][0])
else:
Section.append("0")
if len(sec_good[0]) >= 2: #This is what breaks.
Sec2.append(sec_good[0][1])
else:
Sec2.append("0")
我尝试了一些事情,包括。
def checker(lst):
if len(lst[0][1]) > 0:
return True
else:
return False
对我所忽略的东西有什么想法吗?如果找到“-”,我会将sec_good
的第二个值附加到Sec2中。如果没有任何内容,我尝试附加“ 0”。
文件“ C:/Users/itsme/parser.py”,第105行,在 如果len(sec_good [0])> = 2:
IndexError:列表索引超出范围