lines = []total_check = 0with pdfplumber.open(file) as pdf: pages = pdf.pages for page in pdf.pages: text = page.extract_text() for line in text.split('\n'): print(line)输出数据:Totaalbedrag excl. btw € 25,00当我尝试从数据中检索增值税时:KVK_re = re.compile(r'(excl. btw .+)')KVK_re.search(data).group(0)输出:AttributeError:“NoneType”对象没有属性“group”KVK_re = re.compile(r'(excl. btw .+)')KVK_re.search(r'excl. btw € 25,00').group(0)输出:'排除。顺便说一句 € 25,00'当我将文字输出粘贴到搜索中时,它怎么可能找到数字 € 25,00 而当我输入数据变量时却找不到?请帮我!
2 回答
米脂
TA贡献1836条经验 获得超3个赞
在大多数情况下,当模式中使用文字空格并且没有匹配时,原因是不可见字符或不间断空格。
当您有不间断空格 时,\xA0
您可以简单地将文字空格替换为\s
来匹配任何空白,或[ \xA0]
匹配任一空格。
在这种情况下,似乎可能存在空格和一些不可见字符的组合,因此,您可以使用\W
匹配任何非单词字符而不是文字空格:
r'excl\.\W+btw\W.+'
杨魅力
TA贡献1811条经验 获得超6个赞
您没有提供对象的内容data是什么,但错误消息只是说找不到正则表达式。因此,您可能正在对不包含该特定字符串的数据调用搜索。
$ KVK_re = re.compile(r'(excl. btw .+)')
$ KVK_re.search('test').group(0)
AttributeError: 'NoneType' object has no attribute 'group'
添加回答
举报
0/150
提交
取消