我想知道是否有人熟悉Python的tabula-py模块可以帮助我解决这个问题。在任何 tabula-py 文档中都不清楚tabula.read_pdf()
函数是否使用 lattice 或 stream 模式提取作为默认模式设置是否没有将 lattice 或 stream 参数传递给该函数。代码是否会根据pdf文本中遇到的“表格”而以某种方式猜测这两种模式中的哪一种是可取的,如果不是,请说明两种提取模式中的哪一种被用作默认模式(因此呈现一种这两个参数是多余的,因为事实上,如果将 lattice 设置为False
,那么根据定义,您必须将stream设置为True
,反之亦然)?预先感谢。
将tabula.read_pdf()
模式设置为点阵或流模式提取很容易,所以这不是我的问题。如果我不指定要使用的哪种提取方法,我只是想知道这两种方法中的哪一种用作默认提取方式。
答案 0 :(得分:0)
如果我理解正确,tabula-java使用DECIDE方法,该方法动态地逐页应用电子表格和晶格。 https://github.com/tabulapdf/tabula-java/blob/21b124660a90127d2867a48db04d6412d9c4f438/src/main/java/technology/tabula/CommandLineApp.java#L258
请注意,直到tabula-java 1.0.2之前,使用guess选项默认情况下强制使用晶格模式。 tabula-py 1.4.0使用tabula-java 1.0.3,因此您可以分别使用猜测和流/格。