首页 > 解决方案 > python pdfplumber:提取pdf并将数据分成2列

问题描述

我收集了 pdf 文件,这些文件以以下格式存储信息:

Line no 1     Line no. 11    
Line no 2     Line no. 12
.             .
.             .
.             .
Line no 10    Line no N

我正在使用pdfplumber库来提取 PDF 的文本内容,但不是先从第 1 行读取到第 10 行,然后再向第 11 行(依此类推)pdfplumber读取第 1 行和第 11 行作为一行。考虑以下输出:

Line no 1 Line no. 11    
Line no 2 Line no. 12
.             
.             
.             

我的期望:

Line no. 1
Line no. 2
.
.
.
Line no. 11
.
.
.

这是我正在尝试阅读的 pdf的链接。

PDF一瞥: 样本 pdf

我尝试了带有表设置extract_table()的库中的实用程序pdfplumber,但它不起作用(参考答案https://stackoverflow.com/a/63133876/10011503

我是否需要将某些特定的表设置作为参数传递给pdfplumber.open('path_to_pdf').pages[0].extract_table()或者是否有任何其他实用程序和/或解决方法?

标签: pythonpython-3.xpdf

解决方案


我在上面的 PDF 部分中没有看到表格。我建议你使用

Page.extract_text(...)

而是打电话。

主文档中的自述文件在https://github.com/jsvine/pdfplumber/blob/stable/examples/notebooks/san-jose-pd-firearm-report.ipynb有一个提取固定宽度文本的示例。类似于您的药物 PDF。


推荐阅读