如何从PDF的每一页的同一列上提取一组数字?

时间:2019-06-04 13:52:01

标签: python pandas pdf tabula

我需要从7-9页的PDF的每页中(“ Drop / Handle”列下)提取两个数字。以下是一个示例PDF:https://www.nj.gov/oag/ge/docs/Financials/MGR2017/201701revenue.pdf

不是为每个页面编写单独的脚本,而是可以使用代码根据其位置自动检测两个数字吗? (数字几乎总是在每页相同的位置和格式中显示)。

到目前为止,我一直在这样做

files = '201701revenue.pdf'
path = r'C:\Users\201701revenue.pdf' 

df = tabula.read_pdf(path, pages = 'all', index_col=0, multiple_tables=True)
df=df[0] 
df=df[[6]]
df=df[3:6]
df=df.drop([4])
df.columns=['Casino Handle']
df = df.reset_index(drop=True)
df['Casino Handle'] = df['Casino Handle'].str.replace(",","").str.replace(" ","")
df['Casino Handle'] = df['Casino Handle'].apply(pd.to_numeric, errors='coerce')
df=df.append(df.sum(numeric_only=True), ignore_index=True)
df=df.drop([0,1])

df.append(df1, ignore_index=True)

尽管使用表格可以读取所有页面,但是它可以识别每页两个单独的表,因此,如果我要调用特定的列,则会出现错误提示KeyError: "None of [Int64Index([6], dtype='int64')] are in the [columns]"

0 个答案:

没有答案