python学习笔记之word文档提取
"""
# !/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文档提取相关推荐
- python学习笔记之pdf文档提取
""" # !/usr/bin/env python # -*- coding:utf-8 -*- # @Author : 史沐凡 # @file : pdf____张坤 ...
- Python学习之批量word文档转pdf并统计其页码
pypdf2是一个Python模块,可以用来读取.写入和操作PDF文件.要安装pypdf2模块,请按照以下步骤操作: 确保你已经安装了Python.你可以在终端或命令提示符中输入python --ve ...
- Java学习笔记:Word文档的读写
不变样式就是run,段落是XWPFParagraph static org.apache.poi.xwpf.usermodel.XWPFPicture addPicture(org.apache.po ...
- python 描述符参考文档_描述符 - Python 学习笔记 - UDN开源文档
描述符 很少有人会去刻意关注描述符 (Descriptor),尽管它时时刻刻以属性.方法的身份出现. 描述符协议: __get__(self, instance, owner) --> retu ...
- java学习笔记(word文档备注不能正常显示,如有错误,忘不吝指正)
1. 定义常量: final double PI=3.1415926按照习惯常量用大写字母命名 2. System.exit(0);非零的时候表示非正常终止. 3. ...
- python-docx中文开发文档_使用Python语言-docx生成Word文档
本文主要向大家介绍了使用Python语言-docx生成Word文档,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. < 学会来使用python操作数据表和PDF,今天我们尝试 ...
- 2021-01-26 Python自动化办公-处理word文档
Python自动化办公-处理word文档 年底项目投标,需要整理大量的内容,标书的很多内容是其实是之前的标书重复的,可以把对应的各个部分内容合并,然后再处理格式等.如果采用常规操作每次操作需要打开子目 ...
- php txtsql 说明,PHP学习笔记(2)txtSQL文档错误
PHP学习笔记(2)txtSQL文档错误 次阅读 在使用txtSQL的过程中,发现一处帮助文档错误. 在使用altertable命令改变表名称时,发现如果按照帮助文档所说,使用如下代码无法改变表的名称 ...
- python 自动生成word文档,python实现的生成word文档功能示例
python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...
最新文章
- vivado的ip核使用-pll
- 插入顶部_轻巧的衣领插入技术
- 【maven插件】maven-resources-plugin 启用 Filter 时,需要过滤的文件和不需要过滤的文件混在一起该怎么办?
- mplab x ide 中文使用手册_SCI必备利器:翻译又快又准,强推这款超牛X的神器!...
- C# 延时小函数 很好用
- 漫步最优化十九——封闭算法
- 近似求PI (15 分)
- Rivian计划在乔治亚州新增一个工厂
- 对于谷歌应用传统的自动语音识别(ASR)系统的解析
- 如何通过eclipse查看、阅读hadoop2.4源码
- STL中容器的介绍及分类
- Winsock传输数据
- linux的安装软件命令有几种方式,Linux安装软件方法总结
- 千月双端影视APP源码
- 10分钟搭建linux代理服务器
- 使用vue做图片的闪光效果
- javaSSH集成的一些感想
- idb 怎么回复mysql_MySQL删除idb文件引发的思考
- CTF-PWN学习-为缺少指导的同学而生
- 类似 迈图7608 Monentive7608 上海荟研 高新材料 印刷油墨 合成革离型纸 水性涂料基材润湿剂 超润湿剂资料