Python如何批量提取PDF表格数据转为Excel?Python怎么将PDF表格保存为Excel文件

在之前的文章之中小编已经给大家介绍过了python将pdf文件之中表格取出来的方法,但是表格数据取出来之后如果不保存在程序关闭之后就会被销毁 。所以下面会来详细介绍一下,python如何批量提取PDF表格数据并转为Excel文件保存的方法,一起往下看看吧 。
【Python如何批量提取PDF表格数据转为Excel?Python怎么将PDF表格保存为Excel文件】

Python如何批量提取PDF表格数据转为Excel?Python怎么将PDF表格保存为Excel文件

文章插图
1.因为是要批量提取pdf文件,所以需要导入的模块为os、glob、pdfplumber这三个,其中glob模块的作用则是能够用来实现指定pdf文件的查找操作 。模块导入文件之后定义一个变量,此变量需要接收字符串类型的文件路径,该文件路径需要有多个pdf文件存在,代码如下:
import osimport globimport pdfplumberimport pandas as pdpath = r'/Users/wangwangyuqing/Desktop/pdf'2.然后使用创建for循环结构,此循环迭代遍历的对象就是通过join()方法加上文件路径和pdf后缀,找到的该文件路径内所有pdf文件 。然后用这个文件路径去调用提取表格并转为Excel文件的函数,代码如下:
for f in glob.glob(os.path.join(path, "*.pdf")):  res = save_pdf_to_excel(f)3.然后就是整个程序的关键核心代码了,定义函数并接收pdf文件路径作为参数 。函数之中首先调用open()方法将pdf文件打开,然后获取到它所有的页码,再循环这个页码对象并且调用extract方法来获取这些页码之中的表格数据 。
表格数据获取到之后使用pandas第三方库将其转为表格格式的Dataframe类型对象,然后去调用to_excle()方法就可以将这个表格数据保存到Excel之中了,详细代码示例如下所示:
def save_pdf_to_excel(path):  pdf = pdfplumber.open(path)  pages = pdf.pages  tables = []  for each in pages:    table = each.extract_table()    tables.extend(table)  data = pd.DataFrame(tables[1:], columns=tables[0])  file_name = path.split('/')[-1].split('.')[0] + '.xlsx'  data.to_excel("/Useop/data/{}".format(file_name), index=False)以上就是关于“Python如何批量提取PDF表格数据转为Excel?Python怎么将PDF表格保存为Excel文件”的全部内容了,希望对你有所帮助 。

    推荐阅读