Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Camelot py从pdf中提取了两次相同的表_Python_Pdf Reader_Pdf Parsing_Python Camelot - Fatal编程技术网

Python Camelot py从pdf中提取了两次相同的表

Python Camelot py从pdf中提取了两次相同的表,python,pdf-reader,pdf-parsing,python-camelot,Python,Pdf Reader,Pdf Parsing,Python Camelot,我正在尝试使用camelot py v0.7.3从多页PDF文件中提取表格 到目前为止,它一直是我最好的pdf阅读器工具。我只需要逐行读取pdf并手动检测表。我尝试了许多其他工具,如tabla、PyPDF2/4、pdfminer等。其中一些工具无法正确检测文本本身,一些工具干扰了单词序列或列之间的间距 但是camelot py以最适合我的应用程序的格式给了我数据 在使用camelot py从pdf中提取数据的过程中,它几乎可以很好地检测所有表的数据,除了少数错误: 它将多个表分组在同一个“Tab

我正在尝试使用camelot py v0.7.3从多页PDF文件中提取表格

到目前为止,它一直是我最好的pdf阅读器工具。我只需要逐行读取pdf并手动检测表。我尝试了许多其他工具,如tabla、PyPDF2/4、pdfminer等。其中一些工具无法正确检测文本本身,一些工具干扰了单词序列或列之间的间距

但是camelot py以最适合我的应用程序的格式给了我数据

在使用camelot py从pdf中提取数据的过程中,它几乎可以很好地检测所有表的数据,除了少数错误:

  • 它将多个表分组在同一个“TableList”元素中。但我可以将这些分组表分开。所以这里不必担心

  • 这些分组表中的最后一个表在saparate“TableList”元素中重复。这种重复是我最关心的问题

  • 用于上述过程的代码如下所示:

    tables = camelot.read_pdf('test.pdf', pages='1-end', flavor='stream')
    tables.export('foo.csv', f='csv', compress=False)
    
    for table in tables:
        table_df = table.df
        # Code to parse data from tables in each element converted into datafram
    
    为什么camelot py在重复一些表格?有没有办法处理这种重复

    更多信息:

    输入PDF文件: 由于敏感数据,我无法共享pdf文件。但以下是一些细节,可以让您更好地了解其结构: 所有页面仅包含表。 第1页:包含包含客户信息的表1。表2至表4结构相同

    第2页:包含表4和表5至表7中的一些行,其结构与表2相同

    第3页:表8至表10,结构与表2相同

    输出CSV文件:

    foo-page-1-表1:包含表1

    foo-page-1-table-2:包含表1和表2-4中的最后一行(重复)

    foo-page-2-table-1:包含表7(重复,缺少第一行)

    foo-page-2-table-2:包含表4和表5-7中的一些结束行

    foo-page-3-表1:包含表10(完全重复)


    foo-page-3-table-2:包含表8到表10

    您已经排除了表数据在PDF中实际出现两次的可能性吗?不。。。PDF仅包含每个表一次。表的重复在使用camelot-py解析的数据中。这不是普通的camelot行为。也许你的PDF有点奇怪。你能发布它吗?我不能共享pdf,因为里面包含敏感数据。但是,请参阅我上面的更新,以获取有关其结构的更多信息。