首页 > 其他分享 >读取PDF文件,并写入excel表

读取PDF文件,并写入excel表

时间:2024-05-08 15:13:14浏览次数:21  
标签:old 读取 text excel num split zhongdajibing PDF name

import re

from openpyxl import Workbook

pdf_name = 'D:/beifangzhongzhi/zhongye/百保科技/疾病/疾病.pdf'
import PyPDF2


def get_text(pdf_name):
    with open(pdf_name, 'rb') as file:
        reader = PyPDF2.PdfReader(file)
        num_pages = len(reader.pages)
        text_str = ''
        for i in range(num_pages):
            page = reader.pages[i]
            # 处理每一页的内容
            text = page.extract_text()
            text_str += text
        return text_str
# 创建一个新的工作簿
wb = Workbook()
# 选择默认的工作表
ws = wb.active
# 获取pdf文字内容
text = get_text(pdf_name)
# 获取重大疾病定义内容
zhongdajibing_old = \
    ''.join(text.split('第五十六条  重大疾病定义')[1]).split('第五十七条  中症疾病定义 ')[0]
'''通过数字加小数点分段,再根据第一个空格切割疾病名称和症状'''
zhongdajibing = zhongdajibing_old.replace('\n', '')
num_list = re.findall('\d+\. \d+', zhongdajibing_old)
for num in num_list:
    zhongdajibing = zhongdajibing.replace(num, '###')
zhongdajibing_list = zhongdajibing.split('###')
print('zhongdajibing_list:',len(zhongdajibing_list),zhongdajibing_list)
num=2
for zhongdajibing_new in zhongdajibing_list:
    if zhongdajibing_new == '  ':
        pass
    else:
        # 删除瑞华新瑞保终身重大疾病保险( 2.0版)
        zhongdajibing_new = re.sub('\d+  瑞华新瑞保终身重大疾病保险( 2.0版) ', '', zhongdajibing_new)
        zhongdajibing = zhongdajibing_new.split('  ')
        # 删除空格和开头数字
        zhongdajibing_z = [z for z in zhongdajibing if z != '' and z.isdigit() == False]
        zhongdajibing_z = ''.join(zhongdajibing_z).split(' ')
        zhongdajibing_y = [y.strip() for y in zhongdajibing if y != '' and y.isdigit() == False]
        name_old = zhongdajibing_y[0]
        name_old = re.sub('\d+', '', name_old)
        print(f'zhongdajibing_y:{len(zhongdajibing_y),zhongdajibing_y}')
        print(f'name_old:{name_old}')
        name = name_old.strip().split(' ')[0]
        if len(zhongdajibing_y)==1:
            zhengzhuang = ''.join(name_old.strip().split(' ')[1:])
        else:
            zhengzhuang = ''.join(name_old.strip().split(' ')[1:] + zhongdajibing_y[1:])
        print(name)
        print(zhengzhuang)
        # 数据可以直接分配到单元格中
        ws['A1'] = "疾病名字"
        ws['B1'] = "疾病描述"
        ws[f'A{num}'] = name
        ws[f'B{num}'] = zhengzhuang
        # 保存工作簿到文件
        wb.save("重大疾病定义.xlsx")
        print('\n')
        num+=1

 

标签:old,读取,text,excel,num,split,zhongdajibing,PDF,name
From: https://www.cnblogs.com/wolvies/p/18179791

相关文章

  • python教程6.4-excel处理模块
    第三方开源模块安装 创建文件打开已有文件写数据选择表保存表遍历表按行遍历按列遍历遍历指定行列遍历指定第几列数据删除表设置单元格样式字体对齐设置行高列宽 ......
  • python+selenium+excel自动登录,自动填写网页
    经常有些网页要登录,然后频繁填写一些重复的内容,本文暂只考虑不需要验证码的情况,可以通过selenium模拟用户行为在页面操作,用excel拖出相似内容,用xlrd读取并填写到网页中。导入相关包fromseleniumimportwebdriverimportosimportxlrdimportxlwtimportjsonimportreq......
  • excel 汇总运算后生成柱状图
    defsum(df,q_name,sum_index):#df=pd.DataFrame#pd_frame.sum()#print(df.values)#Aggregations(聚合),多索引,,'季度'df_agg=df.groupby(['厂家','季度'])['销量'].agg([np.sum])......
  • 基于总线设备驱动模型的按键读取驱动程序
    本次实验基于总线设备驱动模型实现按键驱动程序的编写,给上层应用程序提供检测按键是否按下的操作接口,上层应用根据按键是否按下控制led的亮灭。所以上层应用程序会同时使用led和按键的驱动接口,但是对于下层驱动而言,这二者是分离的,因此只需要专注于编写按键驱动程序就可以了。在正......
  • Glang&Mysql&Excel
    packagemainimport( "database/sql" "fmt" "log" _"github.com/go-sql-driver/mysql" "github.com/tealeg/xlsx")funcmain(){ //连接MySQL数据库 db,err:=sql.Open("mysql","root:123456......
  • pdf.js源码分析-textLayer中的坐标计算
    在pdf.js中显示pdf内容和选择pdf文字属于不同的层,一个是canvas绘制,一个是使用dom进行布局,那么接下来先看一下在textLayer中的文字节点div是怎么计算每段文字的布局位置的吧。首先找到pdf.js源码中的text_layer.js文件,然后得到下面方法appendText方法,下面的解释是在字体没有发生旋......
  • python读取nc文件
    使用netCDF4库读取nc文件#***1数据读取与处理#打开NetCDF文件GA_id=nc.Dataset('taiwan_GA.nc','r')DOV_E_id=nc.Dataset('taiwan_DOV_E.nc','r')DOV_N_id=nc.Dataset('taiwan_DOV_N.nc','r')VGG_id=nc.Dat......
  • 扫描版PDF电子书目录制作方法
    前置条件书籍:扫描版《软件调试》(请支持正版......
  • 【Python-Json】自定义类输入json序列化、json的读取与写入
    AI问答Questionjson支持numpy数组么Answer不幸的是,标准的JSON格式不直接支持NumPy数组.JSON是一种用于存储和交换数据的文本格式,它有限的数据类型只包括对象(object)、数组(array)、数字(number)、字符串(string)、布尔值(true/false)、空值(null)等.因此,无法直接将......
  • xlwings:在Excel中集成Python
    Github地址:https://github.com/xlwings/xlwings在现代数据分析和报表生成中,MicrosoftExcel仍然是一款非常流行和强大的工具。与此同时,Python作为一种高级编程语言,具备出色的数据处理和分析能力。那么,有没有一种方法可以将Excel和Python完美结合,以发挥它们各自的优势?答案是肯定的......