0

我需要从 7-9 页的 PDF 的每一页(在“放置/处理”列下)提取两个数字。这是一个示例 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)

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

4

0 回答 0