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
提交
取消