-1

我正在努力制作一个代码,该代码可以从pdf中提取表格并将其保存到循环中的csv文件中。

在我的文件夹中,我有大约 250 个 pdf 文件,每个文件都包含一个我想提取并放入 csv 文件的表格。我正在使用 Camelot.py 提取表格,该程序与单个文件完美配合。

我希望程序从 pdf 中提取表格,然后保存一个与包含表格的 pdf 具有相同文件名的 csv 文件。我试图构建一个代码(见下文),循环通过 pdf.files 但我无法将每个 pdf.file 的输出保存到单独的 csv 文件中。

我不知道如何在代码中指定,程序应将每个 pdf 文件的表导出到与 Camelot 循环中的 pdf 文件同名的 csv 文件。

我希望有人能够就如何从这里开始提供一些建议 - 在此先感谢。

import camelot
import csv​
import pandas as pd​
import os ​
​
directoryPath = r"PATHFILE"​
os.chdir(directoryPath)​
folderLister = os.listdir(directoryPath)​
for folders, sub_folders, file in os.walk(directoryPath):​
    for name in file:​
        if name.endswith(".pdf"):​
            filename=os.path.join(folders,name)​
            print(filename)​
            print(name)​
            tables=camelot.read_pdf(filename, flavor ="stream")​
            tables = tables[0].df
            tables[0].to_csv(".csv) # I am unsure how to specifiy the program to save a individual csv file with name of the pdf.
4

1 回答 1

0

您可以简单地使用 PDF 文件名来获取 CSV 文件名:

csv_filename=filename.replace('.pdf','.csv')

tables[0].to_csv(csv_filename)
于 2020-01-28T09:23:20.933 回答