我想使用NLP模块处理一些pdf文件,然后从所有现有的表中清除这些文件。
这是使用pdfplumber提取表的代码
import pdfplumber
pdf = pdfplumber.open("file.pdf")
page = pdf.pages[1]
table=page.extract_table()但是我想反转操作,只提取文本
发布于 2021-02-23 04:42:12
免责声明:我是这个答案中使用的库pText的作者。
加载Document的
需要定义LocationFilter的
LocationFilter做的几乎和它在罐头上说的一样。它将侦听解析事件(如“呈现文本”或“将字体更改为”),但它只允许这些事件在给定边界内通过。
请记住,PDF坐标中的原点位于左下角。因此,本例中的LocationFilter将仅匹配页面左下角的文本。
在LocationFilter中添加
SimpleTextExtraction下一个问题是“LocationFilter将把事件传递给什么?”在这种情况下,您可以从尝试SimpleTextExtraction开始。
将所有这些放在一起的:
l0 = LocationFilter(0, 0, 100, 100)
l1 = SimpleTextExtraction()
l0.add_listener(l1)
doc = PDF.loads(pdf_file_handle, [l])文档加载后,您可以向SimpleTextExtraction请求给定Page上的所有文本。
l1.get_text(0)你可以在GitHub上获得pText,或者使用PyPi获得更多的examples,查看它们以了解有关处理图像的更多信息。
发布于 2021-02-22 20:21:30
你真的非得跟着the管道工干吗?如果没有,我可以建议一个更好的解决方案,使用tabula代替。这是一个类似问题的答案,你可以查看:tabula
https://stackoverflow.com/questions/66293939
复制相似问题