如何使用tabula将PDF表提取到数据框中

时间:2017-11-18 10:46:54

标签: tabula

我正在尝试将PDF文件的“内容”页面(例如第2页)作为表格提取出来,并提出一个跟踪项目与其相应起始页码的数据框。有人建议使用“Tabula”。我尝试了几行,但似乎得到错误要么找不到read_pdf模块,要么得到一个空的数据帧。感谢任何帮助让它发挥作用?

from tabula import wrapper 

MYFILE = 'http://www.hkexnews.hk/listedco/listconews/SEHK/2017/0410/LTN201704101126_C.pdf'

df = wrapper.read_pdf(myfile)

1 个答案:

答案 0 :(得分:1)

from tabula import read_pdf

File = "ArchivedResults/LTN201704101126_C.pdf"

df = read_pdf(File, pages=2, guess=False, columns=(248, 385))
print(df)



    Unnamed: 0          目錄
0            2        公司資料
1            3        財務概要
2            4        主席報告
3           11    管理層討論及分析
4           27       董事會報告
5           66      企業管治報告
6           86  環境、社會及管治報告
7          100     獨立核數師報告
8          109       綜合收益表
9          110     綜合全面收益表
10         111     綜合財務狀況表
11         114     綜合權益變動表
12         116     綜合現金流量表
13         118    綜合財務報表附註
14         227          釋義

当您只有2列时,Tabula似乎在查找表时遇到问题。解决方案是关闭自动表查找选项(guess = False),然后指定列的位置(请注意,您只指定列之间的空格,但必须至少指定2,因此我设置第二列分隔符到最后一列的任意距离)。有些用户可能需要指定和区域(区域=(顶部,左侧,底部,右侧)),但是您的示例并非必要。