pyhthon提取PDF文档中的数据存入Excel表中

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

小编也是现学现卖,留下这个代码主要是帮助自己学习记忆,也供大家参考,水平较低,勿喷!


提示:在提取PDF文档中的数据时所用到的主要是pdfplumber、然后用xlwt来创建Excel表进行数据的写入

一、pdfplumber是什么?xlwt是什么?

Pdfplumber是一个可以处理pdf格式信息的库。可以查找关于每个文本字符、矩阵、和行的详细信息,也可以对表格进行提取并进行可视化调试。

xlwt库是一个python用于操作excel的第三方库。它的主要功能是用来写入excel。通常会与xlrd 、 xlutils组合进行使用。 

二、使用步骤

1.引入库

代码如下(示例):

导入所要使用的库

import pdfplumber
import xlwt

2.读入数据

代码如下(示例):

用with open打开你所要提取的PDF文件 

# 读取pdf文件
with pdfplumber.open('C:\\Users\\huain\\Desktop\\pnas.pdf') as pdf:
    # 读取文档总页码
    pages = pdf.pages

3.创建Excel,进行数据提取,并保存

 # 定义一个数组
    item = []
    for page in pages[21:31]:
        # 读取表格数据
        table = page.extract_table()
    for i in table:
            item.append(i)
    # 创建Excel文本
    work_book = xlwt.Workbook(encoding='utf-8')
    # 新建sheet表格
    work_sheet = work_book.add_sheet('sheet1')
    # 定义列名
    col = item[0]
    # 将col写入到表单第一行,['省市', '地市', '用电类别', '当期值']
    for i in range(0, len(col)):
        work_sheet.write(0, i, col[i])
    # 将数据写入到sheet表中
    for i in range(0, len(item[1:])):
        data = item[1:][i]
        for j in range(0, len(col)):
            work_sheet.write(i + 1, j, data[j])
    # 保存
    work_book.save('test31.xls')

 完整代码如下:

import pdfplumber
import xlwt

# 读取pdf文件
with pdfplumber.open('C:\\Users\\huain\\Desktop\\pnas.pdf') as pdf:
    # 读取文档总页码
    pages = pdf.pages
    # 定义一个数组
    item = []
    for page in pages[21:31]:
        # 读取表格数据
        table = page.extract_table()
    for i in table:
            item.append(i)
    # 创建Excel文本
    work_book = xlwt.Workbook(encoding='utf-8')
    # 新建sheet表格
    work_sheet = work_book.add_sheet('sheet1')
    # 定义列名
    col = item[0]
    # 将col写入到表单第一行,['省市', '地市', '用电类别', '当期值']
    for i in range(0, len(col)):
        work_sheet.write(0, i, col[i])
    # 将数据写入到sheet表中
    for i in range(0, len(item[1:])):
        data = item[1:][i]
        for j in range(0, len(col)):
            work_sheet.write(i + 1, j, data[j])
    # 保存
    work_book.save('test31.xls')

以我处理的pdf为例:

然后运行完自动保存到Excel中

 感觉还是挺方便的,以前我只会复制粘贴,效率特别慢,感觉这个效率瞬间翻倍,虽然这个代码捣鼓了一下午,还有些地方还在探索中,比如连续提取多页的数据表格。


总结

以上就是简单的用python提取PDF中的数据,简单易用。