我正在尝试使用 python 中的 camelot 从 pdf 文件中提取表和表名。尽管我知道如何使用 camelot 提取表(这非常简单),但我仍在努力寻找有关如何提取表名的任何帮助。目的是提取此信息并显示表格及其名称的视觉效果,以便用户从列表中选择相关表格。
我尝试过提取表格,然后也从 pdf 中提取文本。我在这两个方面都很成功,但在将表名连接到表方面却没有。
def tables_from_pdfs(filespath):
pdffiles = glob.glob(os.path.join(filespath, "*.pdf"))
print(pdffiles)
dictionary = {}
keys = []
for file in pdffiles:
print(file)
n = PyPDF2.PdfFileReader(open(file, 'rb')).getNumPages()
print(n)
tables_dict = {}
for i in range(n):
tables = camelot.read_pdf(file, pages = str(i))
tables_dict[i] = tables
head, tail = os.path.split(file)
tail = tail.replace(".pdf", "")
keys.append(tail)
dictionary[tail] = tables_dict
return dictionary, keys
预期结果是一个表格和 pdf 文件中所述的表格名称。例如:pdf 名称第 x 页上的表格:Table 1. Blah Blah blah '''Table'''