python使用PyPDF2和pdfplumber操作pdf
1、PyPDF2和pdfplumber库介绍
PyPDF2官网: PyPDF2官网 ,可以更好的读取、写入、分割、合并PDF文件;
pdfplumber官网:pdfplumber官网,可以更好地读取PDF文件内容和提取PDF中的表格;
这两个库不属于python标准库,都需要单独安装;
2、python提取PDF文字内容
1)利用pdfplumber提取文字
import PyPDF2
import pdfplumber
with pdfplumber.open("餐饮企业综合分析.pdf") as p:
page = p.pages[2]
print(page.extract_text())
1
2
3
4
5
6
结果如下:
2)利用pdfplumber提取表格并写入excel
extract_table():如果一页有一个表格;
extract_tables():如果一页有多个表格;
import PyPDF2
import pdfplumber
from openpyxl import Workbook
with pdfplumber.open("餐饮企业综合分析.pdf") as p:
page = p.pages[4]
table = page.extract_table()
print(table)
workbook = Workbook()
sheet = workbook.active
for row in table:
if not "".join() == ""
sheet.append(row)
workbook.save(filename = "新pdf.xlsx")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
结果如下:
缺陷:可以看到,这里提取出来的表格有很多空行,怎么去掉这些空行呢?
判断:将列表中每个元素都连接成一个字符串,如果还是一个空字符串那么肯定就是空行。
import PyPDF2
import pdfplumber
from openpyxl import Workbook
with pdfplumber.open("餐饮企业综合分析.pdf") as p:
page = p.pages[4]
table = page.extract_table()
print(table)
workbook = Workbook()
sheet = workbook.active
for row in table:
if not "".join([str(i) for i in row]) == "":
sheet.append(row)
workbook.save(filename = "新pdf.xlsx")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!