使用Tabula和python读取pdf文件时数据丢失

时间:2019-12-07 09:13:55

标签: python pdf tabula tabula-py

我有一个包含多个文本和表格的pdf文件,其中一行包含如下内容:

PDF content :
Id: 5647484848 Name Alex J

现在我正在使用tabula-py来解析内容,但是结果缺少了一些内容(意味着您可以看到第一个字符或数字丢失了)。

实际上,我的原始pdf有很多文本和表格。我也在其他行上尝试过,在那里我得到了正确的结果。

Wrong Result :
['', '', 'Id:', '', '647484848', 'Name', '', 'lex J', '', '', '']

Should be :
['', '', 'Id:', '', '5647484848', 'Name', '', 'Alex J', '', '', '']

样品:

# to get the exact row to find the name & index [7] is for Name
if len(row) == 11:
    if "Name" in row:
       print(row[7])
       return Student(studentname=row[7])

在表格中读取表格时,我已设置

df = tabula.read_pdf(pdf, output_format='json', pages='all',
                          password=secure_password, lattice=True)

该行是简单的文本类型,没有图像。不知道为什么此特定行数据失败。我将类似的逻辑应用到其他行中,我得到了适当的结果。请提出建议。

1 个答案:

答案 0 :(得分:0)

通过将表格中的提取方式从“格子=真”更改为“格子=假”来解决

df = tabula.read_pdf(pdf, output_format='json', pages='all',
                          password=secure_password, lattice=False)