热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python操作pdf文件

安装模块pipinstallpdfplumberpipinstallPyPDF2pipinstallpypwin32pdf文件读取path:pdf的文件路径pdf

安装模块

pip install pdfplumber
pip install PyPDF2
pip install pypwin32

pdf 文件读取

"""
path: pdf的文件路径
pdfplumber.open(path): 文件打开读取
_pdf.pages: 获取pdf总页数
_pdf.pages[i].extract_text() : 获取每页的pdf的内容
"""
def get_pdf_content(path):_pdf = pdfplumber.open(path)pages = len(_pdf.pages) # _pdf.pages 输出的是列表数据all_content = [_pdf.pages[i].extract_text() for i in range(pages)]return all_contentif __name__ == '__main__':data = get_pdf_content('test.pdf')print(data[0])

读取pdf中的表格数据

def get_pdf_tables(path):_pdf = pdfplumber.open(path)pages = len(_pdf.pages) # _pdf.pages 输出的是列表数据all_table = []for i in range(pages):# 读取每页pdf 中含有表格的数据for j in _pdf.pages[i].extract_tables():# 获取每页table, 每一行的数据,content = [k for k in j if '' not in k]all_table.append(content)return all_table

获取pdf中的table数据, 并写入表格

import pdfplumber
import pandas as pddef get_pdf_tables(path):_pdf = pdfplumber.open(path)pages = len(_pdf.pages) # _pdf.pages 输出的是列表数据all_table = []for i in range(pages):# 读取每页pdf 中含有表格的数据for j in _pdf.pages[i].extract_tables():# 获取每页table, 每一行的数据,content = [k for k in j if '' not in k]all_table.append(content)return all_table# 获取pdf 中的表格数据, 并写入pdf数据
def write_to_excel(all_tables):writer = pd.ExcelWriter("表格数据.xlsx")for index, content in enumerate(all_tables):name = "pd_{}".format(index)df = pd.DataFrame(content)df.to_excel(writer, sheet_name=name, encoding="gbk")# 最后保存写入,并释放writer.save()writer.close()
if __name__ == '__main__':data = get_pdf_tables('test.pdf')write_to_excel(data)

推荐阅读
author-avatar
溪谷小兵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有