所以这就是我想要做的--非常简单。我有一个包含数据的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"前者的收益率
类型为None的对象
而后者的收益是:
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,No série,Valeur Index:[]
而后者则产生
物品Année Marque Carrosserie série Valeur
由于tabula只是java包的包装器,所以我认为两者的行为方式完全相同。我遗漏了什么?
Windows 10 64位
tabula-py v1.0.0
Java v8
发布于 2018-05-04 12:50:40
愚蠢的我-随着所有的研究,我忽略了阅读表格-py文档到最后。
结果与tabula不同。或者,对于初学者来说,stream选项在默认情况下似乎不适合使用tabula-py set猜测选项True。众所周知,流选项之间存在冲突。如果你对你的结果感到奇怪,请设置guess=False。
结果可能就是发生了什么。现在一切都像一种魅力。
https://stackoverflow.com/questions/49945288
复制相似问题