文章参考知乎 >> 传送门
(一)字符 *** 作 (1)pdf文件任意页字符提取import pdfplumber
with pdfplumber.open("D:\Desktop\1.pdf") as pdf:
for page in pdf.pages:
text = page.extract_text() # 提取文本
print(text)
(2)提取所有pdf文字并写入文本中
import pdfplumber
with pdfplumber.open("D:\Desktop\111.pdf") as pdf:
for page in pdf.pages:
text = page.extract_text()#提取文本
txt_file = open("D:\Desktop\111.txt",mode='a',encoding='utf-8')
txt_file.write(text)
(二)表格 *** 作
(1)读取pdf文件表格,并存入 list
import pdfplumber
with pdfplumber.open("D:\Desktop\1.pdf") as pdf:
page = pdf.pages[0]
tablet_char = page.extract_tables()
T = sum(tablet_char, []) # by sum, descent the dimension of tablet object
for var in T:
print(var)
注意:
- 单独使用 extract_tables 方法,得到的是一个只有一个对象的二维 list (即最外面还有一层
[ ]) - 这里使用 sum 函数,将 tablet_char 对象和 空列表进行和运算,这里 sum 的和运算是在后面一个对象中进行的,以此实现tablet_char 对象的降维
import pdfplumber
import openpyxl
from openpyxl import Workbook #保存表格,需要安装openpyxl
with pdfplumber.open("D:\Desktop\1.pdf") as pdf:
page01 = pdf.pages[0]
table = page01.extract_table()
workbook = Workbook()
sheet = workbook.active
for row in table:
sheet.append(row)
workbook.save(filename="D:\Desktop\1.xlsx")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)