python日常练习五,PPT批量转化pdf,批量把Word存入excel

一,PPT批量转化pdf

需求当公司需要将大量ppt转换pdf
需要配置win32com
引用:https://www.pianshen.com/article/13311600023/

# 0). 准备工作
# 0-1). 导入模块
import os
import win32com.client

# # 0-2). ppt文件和pdf文件的名称
# filename = '要转换的PPT素材1.pptx'
# output_filename = '转换后保存的PPT素材1.pdf'
def ppt2pdf(filename, output_filename):
    # 1. 打开PPT应用程序。
    ppt_app = win32com.client.Dispatch('PowerPoint.Application')
    # ppt_app.Visible = True  # 操作过程是否可视化
    # 2. 通过应用程序打开指定的ppt文件
    ppt = ppt_app.Presentations.Open(filename)
    # 3. 打开的PPT另存为pdf文件。17数字是ppt转图片,32数字是ppt转pdf。
    ppt.SaveAs(output_filename, 32)
    # 4. 退出程序。
    ppt_app.Quit()
#要转换的ppt的地址
dirname = r"D:\pythonzil\4.Python编程模块(9.22(15节)\【第11节】Python综合小案例(一)\11\11 Python综合小案例(一)\ppt"
#转换后保存的地址
dirname2 = r"D:\pythonzil\4.Python编程模块(9.22(15节)\【第11节】Python综合小案例(一)\pdf"

#获取当前文件下的文件集合
filenames = os.listdir(dirname)
for filename in filenames:
		#判断文件是不是ppt或pptx文件才能进行转换
    if filename.endswith('ppt') or filename.endswith('pptx'):
        print(filename)
        print("文件%s正在被转成pdf文件" %(filename))
		#将之前ppt文件名分割后进行重新命名转换后的ptf文件
        base, ext = filename.split('.')
        #通过os组件拼接成转化时所用的使用路径	1
        filename = os.path.join(dirname, filename)
        #通过os组件拼接成转化时所用的保存路径	
        output_filename = os.path.join(dirname2, base + '.pdf')
        #调用函数
        ppt2pdf(filename, output_filename)

二 批量把Word存入excel

需要配置 docx 操作文档
在cmd 窗口下载docx 命令 pip install python-docx

执行是要先打开打开同一目录下
在这里插入图片描述
执行代码
在这里插入图片描述
打开表格进行查看
在这里插入图片描述

from docx import Document
from openpyxl import load_workbook
import glob

# path  = r'E:\BaiduNetdiskDownload\自动化\批量修改Word并且写入Excel\wenjian'
path = r"D:\pythonzil\lx"

#激活Excel
workbook = load_workbook(path + r'\Meeting_temp.xlsx')
#拿到对应的表头
sheet = workbook.active

#示例拿到单个docx文档进行输出
wordfile = Document(path + r'\wenjianjia\会议通知1.docx')

for paragraph in wordfile.paragraphs:
    print(paragraph.text)


number = 0
#拿到该目录下的所有docx文档
for file in glob.glob(path + r'\wenjianjia\*.docx'):
	#难道对应的文档
    wordfile = Document(file)

    content_lst = []
    #读取每行的内容
    for paragraph in wordfile.paragraphs:
        print(paragraph.text[0:9])
        #判断对应前前九个字符是否是学习数据
        if paragraph.text[0:9] == '  一、学习时间:':
        	#进行赋值
            study_time = paragraph.text[9:]
            print(study_time)
  		 #判断对应前前九个字符是否是学习形式
        if paragraph.text[0:9] == '  二、学习形式:':
            study_type = paragraph.text[9:]
		#判断对应前前九个字符是否是主持人
        if paragraph.text[0:8] == '  三、主持人:':
            host = paragraph.text[8:]
            print(host)

        if len(paragraph.text) >= 2:
			#大于两个字符且有 , 好进行添加到内容列表里
            if paragraph.text[2].isdigit() and paragraph.text[3] == '、':
                content_lst.append(paragraph.text)
             #通过join拼接成一个完整的字符串   
    content = ' '.join(content_lst)
    #序号
    number += 1
    #将获取的数据分别添加到对应的表格里
    sheet.append([number, study_time, content, study_type, host])
#生成对应的表格
workbook.save(path + r'\Meeting_notice.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值