所以这就是我想要做的 - 非常简单。我有一个包含数据的pdf文档,我想用python提取它。这是在我尝试从需要定期读取的固定模板自动化数据提取的上下文中。
我正在使用tabula-py包,并使用“read_pdf”函数读取数据。问题是它似乎只是在我需要的表的一部分中读取...更具体地说,它只能读取在表格标题中。奇怪的是,如果我使用在线表格工具阅读表格,我就不会遇到这个问题。
# Here is the python code to read table content
df = tb.read_pdf(path+name+'.pdf', encoding='latin-1', area=[416.543,25.398,434.903,582.318],spreadsheet=True,pages=2)
# Here is the tabula online tool script:
java -jar tabula-java.jar -a 416.543,25.398,434.903,582.318 -p 2 "$1"
前者产量
«无»
类型的对象
而后者产量:
1 2018 Peterbilt Tracteur routier一些VIN号码230 000 $
在表格的标题上运行相同的查询会产生所需的结果:
# Here is the python code to read table header
df = tb.read_pdf(path+name+'.pdf',encoding='latin-1',area=[397.418,24.633,417.308,583.083],spreadsheet=True,pages=2)
# Here is the tabula online tool script:
java -jar tabula-java.jar -a 397.418,24.633,417.308,583.083 -p 2 "$1"
前者产量
空DataFrame列:[Item,Année,Marque,Carrosserie,Nosérie, Valeur actuelle]指数:[]
而后者产生
项目AnnéeMarqueCarrosserieNosérieValeuractuelle
由于tabula-py只是java包的一个包装器,我原以为两者都会以完全相同的方式运行。我错过了什么?
Windows 10 64位
tabula-py v1.0.0
Java v8
答案 0 :(得分:1)
愚蠢的我 - 所有的研究都省略了阅读tabula-py文档到最后。
结果与tabula-java不同。或者,流选项似乎不是 正常工作tabula-py set guess选项默认情况下为True 初学者。众所周知,流选项之间存在冲突。如果 你觉得你的结果有些奇怪,请设置guess = False。
事实证明,这可能是发生的事情。现在一切都像魅力一样。