Python 在1000'中提取表;使用表格面积参数的PDF格式

Python 在1000'中提取表;使用表格面积参数的PDF格式,python,pdf,tabula,Python,Pdf,Tabula,我有大约970个相同格式的pdf文件,我想从这些pdf中提取表格。在做了一些研究之后,我能够使用tabla区域参数提取表,不幸的是,每个pdf的区域参数都不相同,因此我无法迭代因此,如果有人能帮助我自动查找每个pdf的此区域参数,那将是极大的帮助。 正如你们在图中所看到的,我必须使用区域,否则标题中的垃圾也会被解析。这是我能够为第一个pdf成功执行的脚本,但我需要从970个文件中提取,这是手动无法实现的。请。救命 @author: Jiku-tlenova """

我有大约970个相同格式的pdf文件,我想从这些pdf中提取表格。在做了一些研究之后,我能够使用tabla区域参数提取表,不幸的是,每个pdf的区域参数都不相同,因此我无法迭代因此,如果有人能帮助我自动查找每个pdf的此区域参数,那将是极大的帮助。

正如你们在图中所看到的,我必须使用区域,否则标题中的垃圾也会被解析。这是我能够为第一个pdf成功执行的脚本,但我需要从970个文件中提取,这是手动无法实现的。请。救命

@author: Jiku-tlenova
"""
import numpy as np
import matplotlib as plt
import pandas as pd
import os
import re
import PyPDF2 as rdpdf
import tabula
path = "/codes/python/"
os.chdir(path)
from convert_pdf_to_txt import convert_pdf_to_txt
os.getcwd()
pa="s/"
os.chdir(path+pa)

files= os.listdir(".")
ar=[187.65,66.35,606.7,723.11]

tablist=[]

for file in files:
    i=0
    pgnum=2;endval=0
    weind=re.findall("\d+", file)
    print(file)
    reader = rdpdf.PdfFileReader(file)
    while endval==0:
        table0 =tabula.read_pdf(file, pages = i+2, spreadsheet=True,multiple_tables = False ,lattice=True,area=ar) #pandas_options={'header': 'infer'}
        table0=table0.dropna(how="all",axis=1)
       
#foramtiing headers
        head=(table0.iloc[0,:]+table0.iloc[1,:]).T
        table0.columns=head
        table0=table0.drop([0, 1])
        table0=table0.iloc[:-1] #delete last row - not needed
        mys=table0[table0.columns[-1]]
        val=mys.isnull().all()
  
        if val==True:
            endval=1 
        tablist.append(table0)
        i=i+1```

终于可以自己做了…基本上是从R中提取代码并使用包装器…看起来R支持社区在堆栈中比python社区活跃得多…谢谢