使用tabla和python读取pdf文件时缺少数据

使用tabla和python读取pdf文件时缺少数据,python,pdf,tabula,tabula-py,Python,Pdf,Tabula,Tabula Py,我有一个包含多个文本和表格的pdf,其中一行包含如下内容: PDF content : Id: 5647484848 Name Alex J 现在我使用tabla-py解析内容,但是结果缺少了一些东西(这意味着您可以看到缺少第一个字符或数字) 实际上,我原来的pdf有很多文本和表格。我也尝试了其他行,在那里我得到了正确的结果 Wrong Result : ['', '', 'Id:', '', '647484848', 'Name', '', 'lex J', '', '', ''] Sho

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

PDF content :
Id: 5647484848 Name Alex J
现在我使用tabla-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)

行是简单的文本类型,没有图像和所有。不知道为什么这一行数据会失败。我对其他行应用了类似的逻辑,得到了正确的结果。请建议

通过将表格中的提取模式从lattice=True更改为lattice=False来解决

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

通过将表格中的提取模式从lattice=True更改为lattice=False解决

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

您能否将pdf中有问题的行复制/粘贴到记事本文本文件中?否则,该数据点的pdf可能会被破坏。在PDF中,“您看到的”不是“您可以提取的”,因为视觉符号和文本含义是分开存储的。它可能看起来不错,但“文本表示”可能是垃圾。如果是这样,您需要研究PDF上的OCR,并从该.Btw中获取缺少的值。这对SO来说是个坏问题-没有复制的方法,也没有解决的方法。@PatrickArtner是的,我可以将它复制到文本编辑器中,这没有问题。我可以在那里查看原始内容。谢谢扫描您是否将pdf中有问题的行复制/粘贴到记事本文本文件中?否则,该数据点的pdf可能会被破坏。在PDF中,“您看到的”不是“您可以提取的”,因为视觉符号和文本含义是分开存储的。它可能看起来不错,但“文本表示”可能是垃圾。如果是这样,您需要研究PDF上的OCR,并从该.Btw中获取缺少的值。这对SO来说是个坏问题-没有复制的方法,也没有解决的方法。@PatrickArtner是的,我可以将它复制到文本编辑器中,这没有问题。我可以在那里查看原始内容。谢谢