如何解决从python中的pdf文本中提取第一行
我正在用 "\n" 分割从 pdf 中提取的文本,但是分割后字符串的位置有问题。对某些人来说,它使用 [0],而对某些人来说,它是 [2]。我想把它放在一个循环中并从页面中提取第一行而不考虑位置
这是我的代码:
for fil in new_pdf_files:
object = PyPDF2.PdfFileReader(fil)
pdfFileObj = open(fil,'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(1)
s= (pageObj.extractText())
name =s.split("\n")[0]
print(name)
pdf 文本提取
第一个 pdf 文本提取 " \n \nPIERRE AVENIR 2\n \nSociété Civile de Placement Immobilier au capital de 99\n \n\n \nSiège social\n \n: 167,quai de la "
\n 出现在其他一些名称之前
第二个 pdf 文本提取
“ADVINI\n \n \nSociété anonyme à directoire et \nConseil de Monitoring\n \na\nu capital”
名字前没有\n
需要提取PIERRE AVENIR 2和ADVINI
解决方法
首先使用strip去除前导和尾随空格:
name =s.strip().split("\n")[0]
,
for fil in new_pdf_files:
object = PyPDF2.PdfFileReader(fil)
pdfFileObj = open(fil,'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(1)
s= (pageObj.extractText())
name =s.split("\n")
for i in name:
if i not in [""," ",","]:
print(i)
break
我相信像上面那样循环遍历数组名称可能会解决您的问题。
,在使用 split 获取第一行之前,您可以简单地使用正则表达式删除任何要忽略的前导字符:
import re
for fil in new_pdf_files:
object = PyPDF2.PdfFileReader(fil)
pdfFileObj = open(fil,'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(1)
s= (pageObj.extractText())
name = re.sub("^[,\n]+","",s).split("\n")[0]
print(name)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。