我正在尝试从此处附带的PDF中提取所有行。
这是我使用的代码:
def parse_latticepdf_pages(pdf):
pages = read_pdf(
pdf,
pages = "all",
guess = False,
lattice = True,
silent = True,
area = [43, 5, 568, 774],
pandas_options = {'header': None}
)
return pd.concat(pages)
parse_latticepdf_pages(pdf = "file.pdf")
输出仅显示那些背景颜色为灰色的行。伊特不显示白色背景色的行。如何获取所有行,而不管这些行的颜色如何?
注意:最初我尝试了stream=True,但这导致了其他问题,每一行都显示为单独的行,无法根据需要对行进行分组。因此,我设置Lattice=True。此外,启用和不启用multiple_tables会返回相同的问题。
如果能提供任何帮助,我将不胜感激。非常感谢。
我终于解决了这个问题。对于这种特定的PDF格式,最好使用其他python包,如PyMuPDF。我在StackOverflow的另一篇帖子上发布了一个类似的问题。我在这里发布链接。希望这能帮助其他同样难以找到解决问题的方法的人。
使用PyMuPDF对从PDF中提取的文本进行数据包装可能吗?(每行交替使用颜色(-位于每行中间的文本
不确定发生了什么,但确认它与multiple_tables=False
选项一起工作,如下所示:
In [41]: tabula.read_pdf(fname, pages=1, lattice=True, area = [43, 5, 568, 774], multiple_tables=False)
Out[41]:
[ Issued Date Permit No. ... Proposed Use Valuation
0 4/1/2019 P025361-032119 ... New office and restroom addition to existingr... $45,000.00
1 4/12/2019 P025502-041219 ... Isolate chapel from fire damaged area 4000 sq.... $1,000.00
2 4/12/2019 P025487-041019 ... Interior finish-out for new meat market 2500r... $35,000.00
3 4/15/2019 P025520-041519 ... New 8-unit apartment building 10,800 sq. ft. $350,000.00
4 4/25/2019 P025101-020719 ... New Five Story Hotel 93,501 sq. ft. $12,327,000.00
5 4/9/2019 P025475-040919 ... Mobile Home Placement 1216 sq. ft. $1,250.00
6 4/9/2019 P025477-040919 ... Mobile Home Placement 1216 sq. ft. $1,250.00
7 4/9/2019 P025479-040919 ... Mobile Home Placement 1216 sq. ft. $1,250.00
8 4/8/2019 P025459-040519 ... Build a carport. $1,000.00
[9 rows x 7 columns]]
不过,这可能会导致page="all"
出现另一个问题。