"""
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author  : 史沐凡
# @file    :  pdf____张坤_文档转换工具.py
# @Time    : 2022/7/24 22:21
# @Function:
"""
# 读取docx中的文本代码示例
import glob
import os
import re
from openpyxl import Workbook  # 写入的时候用
import pdfplumberdef getfields(filepath):'''直接读取pdf,获取所需要的字段患者姓名 标识号 出生日期    性别  保险集团    胶囊标识号   操作日期    转诊医生    登记者 预约者转诊原因 体重  身高  腰围  体型  通过胃部的时间 通过小肠的时间 操作信息与发现 摘要与建议:return:list'''print(filepath)患者姓名 = ""标识号 = ""出生日期 = ""性别 = ""保险集团 = ""胶囊标识号 = ""操作日期 = ""转诊医生 = ""登记者 = ""预约者 = ""转诊原因 = ""体重 = ""身高 = ""腰围 = ""体型 = ""通过胃部的时间 = ""通过小肠的时间 = ""操作信息与发现 = ""摘要 = ""建议 = ""fields = ['患者姓名','标识号','出生日期','性别','保险集团','胶囊标识号','操作日期','转诊医生','登记者','预约者','转诊原因','体重','身高','腰围','体型','通过胃部的时间','通过小肠的时间','操作信息与发现','摘要','建议']nr = ""with pdfplumber.open(filepath) as pdf:for page in pdf.pages:  # 遍历所有页码text = page.extract_text()  # 提取文本nr=nr+textnr = nr.strip()print(nr)res = re.search(r"患者姓名 (.*)", nr, 0)if res: 患者姓名 = res.group(1).strip()res = re.search(r"标识号 (.*)", nr, 0)if res: 标识号 = res.group(1).strip()res = re.search(r"出生日期 (.*)", nr, 0)if res: 出生日期 = res.group(1).strip()res = re.search(r"性别 (.*)性", nr, 0)if res: 性别 = res.group(1).strip()res = re.search(r"保险集团 (.*)", nr, 0)if res: 保险集团 = res.group(1).strip()res = re.search(r"胶囊标识号 (.*)", nr, 0)if res: 胶囊标识号 = res.group(1).strip()res = re.search(r"操作日期 (.*)", nr, 0)if res: 操作日期 = res.group(1).strip()res = re.search(r"转诊医生 (.*)", nr, 0)if res: 转诊医生 = res.group(1).strip()res = re.search(r"登记者 (.*)", nr, 0)if res: 登记者 = res.group(1).strip()res = re.search(r"预约者 (.*)", nr, 0)if res: 预约者 = res.group(1).strip()res = re.search(r"转诊原因(.*)患者数据", nr, re.DOTALL)if res:转诊原因 = res.group(1).strip()res = re.search(r"体重 ?:(\d*) ?kg", nr, 0)if res: 体重 = res.group(1).strip()res = re.search(r"身高 ?:(\d*) ?cm", nr, 0)if res: 身高 = res.group(1).strip()res = re.search(r"腰围 ?:(\d*) ?cm", nr, 0)if res: 腰围 = res.group(1).strip()res = re.search(r"体型 ?:(.{1,3}),", nr, 0)if res: 体型 = res.group(1).strip().strip()res = re.search(r"通过胃部的时间 ?:(.*),", nr, 0)if res: 通过胃部的时间 = res.group(1).strip()res = re.search(r"通过小肠的时间 ?:(.*)", nr, 0)if res: 通过小肠的时间 = res.group(1).strip()res = re.search(r"操作信息与发现(.*)摘要与建议", nr, re.DOTALL)if res:操作信息与发现 = res.group(1).strip()操作信息与发现 = 操作信息与发现.replace(" ", "")ls = 操作信息与发现.split("\n")操作信息与发现 = ";".join(ls).strip()res = re.search(r"摘要与建议(.*)建议:", nr, re.DOTALL)if res:摘要 = res.group(1).strip()摘要 = 摘要.replace(" ", "")ls = 摘要.split("\n")摘要 = ";".join(ls).strip()res = re.search(r"建议:(.*)签名", nr, re.DOTALL)if res:建议 = res.group(1).strip()建议 = 建议.replace(" ", "")ls = 建议.split("\n")建议 = ";".join(ls).strip()print("*" * 88)ls = [患者姓名, 标识号, 出生日期, 性别,保险集团, 胶囊标识号, 操作日期, 转诊医生,登记者, 预约者, 转诊原因, 体重,身高, 腰围, 体型, 通过胃部的时间,通过小肠的时间, 操作信息与发现, 摘要,建议]print(ls)if (all(ls)):return lselse:return lsif __name__ == '__main__':fields = ['患者姓名', '标识号', '出生日期', '性别', '保险集团', '胶囊标识号', '操作日期', '转诊医生', '登记者', '预约者', '转诊原因','体重', '身高', '腰围','体型', '通过胃部的时间', '通过小肠的时间', '操作信息与发现', '摘要','建议']print(fields)root = os.getcwd()ls = glob.glob("pdf报告\*.pdf")big_ls = []for i in ls:i=os.path.join(os.getcwd(),i)ls = getfields(i)big_ls.append(ls)for i in big_ls: print(i)wb = Workbook()ws = wb.activews.append(fields)for i in big_ls:ws.append(i)wb.save(r'pdf报告/pdf转换表格.xlsx')exit(0)

python学习笔记之word文档提取相关推荐

  1. python学习笔记之pdf文档提取

    """ # !/usr/bin/env python # -*- coding:utf-8 -*- # @Author : 史沐凡 # @file : pdf____张坤 ...

  2. Python学习之批量word文档转pdf并统计其页码

    pypdf2是一个Python模块,可以用来读取.写入和操作PDF文件.要安装pypdf2模块,请按照以下步骤操作: 确保你已经安装了Python.你可以在终端或命令提示符中输入python --ve ...

  3. Java学习笔记:Word文档的读写

    不变样式就是run,段落是XWPFParagraph static org.apache.poi.xwpf.usermodel.XWPFPicture addPicture(org.apache.po ...

  4. python 描述符参考文档_描述符 - Python 学习笔记 - UDN开源文档

    描述符 很少有人会去刻意关注描述符 (Descriptor),尽管它时时刻刻以属性.方法的身份出现. 描述符协议: __get__(self, instance, owner) --> retu ...

  5. java学习笔记(word文档备注不能正常显示,如有错误,忘不吝指正)

    1.        定义常量: final double PI=3.1415926按照习惯常量用大写字母命名 2.        System.exit(0);非零的时候表示非正常终止. 3.     ...

  6. python-docx中文开发文档_使用Python语言-docx生成Word文档

    本文主要向大家介绍了使用Python语言-docx生成Word文档,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. < 学会来使用python操作数据表和PDF,今天我们尝试 ...

  7. 2021-01-26 Python自动化办公-处理word文档

    Python自动化办公-处理word文档 年底项目投标,需要整理大量的内容,标书的很多内容是其实是之前的标书重复的,可以把对应的各个部分内容合并,然后再处理格式等.如果采用常规操作每次操作需要打开子目 ...

  8. php txtsql 说明,PHP学习笔记(2)txtSQL文档错误

    PHP学习笔记(2)txtSQL文档错误 次阅读 在使用txtSQL的过程中,发现一处帮助文档错误. 在使用altertable命令改变表名称时,发现如果按照帮助文档所说,使用如下代码无法改变表的名称 ...

  9. python 自动生成word文档,python实现的生成word文档功能示例

    python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...

最新文章

  1. vivado的ip核使用-pll
  2. 插入顶部_轻巧的衣领插入技术
  3. 【maven插件】maven-resources-plugin 启用 Filter 时,需要过滤的文件和不需要过滤的文件混在一起该怎么办?
  4. mplab x ide 中文使用手册_SCI必备利器:翻译又快又准,强推这款超牛X的神器!...
  5. C# 延时小函数 很好用
  6. 漫步最优化十九——封闭算法
  7. 近似求PI (15 分)
  8. Rivian计划在乔治亚州新增一个工厂
  9. 对于谷歌应用传统的自动语音识别(ASR)系统的解析
  10. 如何通过eclipse查看、阅读hadoop2.4源码
  11. STL中容器的介绍及分类
  12. Winsock传输数据
  13. linux的安装软件命令有几种方式,Linux安装软件方法总结
  14. 千月双端影视APP源码
  15. 10分钟搭建linux代理服务器
  16. 使用vue做图片的闪光效果
  17. javaSSH集成的一些感想
  18. idb 怎么回复mysql_MySQL删除idb文件引发的思考
  19. CTF-PWN学习-为缺少指导的同学而生
  20. 类似 迈图7608 Monentive7608 上海荟研 高新材料 印刷油墨 合成革离型纸 水性涂料基材润湿剂 超润湿剂资料

热门文章

  1. Mac os 创建自己的证书并且找到自己的证书 I
  2. 不用看盘让AI来帮你
  3. 2017年8月历史文章汇总
  4. 首次回收重型猎鹰火箭全部助推器,SpaceX再创历史!...
  5. 原生javascript对话框 --- sy_dialog
  6. N76E003合并boot和app
  7. HAL库教程3:引脚输入检测
  8. 基于matlab的蓝色车牌识别(车牌倾斜矫正)
  9. ellipsize实现跑马灯总结
  10. 湘鄂情更名后携手中科院瞄准大数据