Python如何批量提取PDF表格数据转为Excel?Python怎么将PDF表格保存为Excel文件
在之前的文章之中小编已经给大家介绍过了python将pdf文件之中表格取出来的方法,但是表格数据取出来之后如果不保存在程序关闭之后就会被销毁。所以下面会来详细介绍一下,python如何批量提取PDF表格数据并转为Excel文件保存的方法,一起往下看看吧。
1.因为是要批量提取pdf文件,所以需要导入的模块为os、glob、pdfplumber这三个,其中glob模块的作用则是能够用来实现指定pdf文件的查找操作。模块导入文件之后定义一个变量,此变量需要接收字符串类型的文件路径,该文件路径需要有多个pdf文件存在,代码如下:
import os import glob import pdfplumber import pandas as pd path = 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文件”的全部内容了,希望对你有所帮助。