30天网站建设实录视频云盘,东莞哪里有做企业网站的,家装效果图用什么软件哪个好,南昌电子商务网站建设前面我们对PPT进行了一定的操作#xff0c;并将其中的文字提取到了word文档中。现在就让我们来刷几道题巩固巩固吧#xff01; 文章目录 1. 查看PPT#xff08;上#xff09;2. 查看PPT#xff08;中#xff09;3. 查看PPT#xff08;下#xff09;4. PPT的页码5. 大学…前面我们对PPT进行了一定的操作并将其中的文字提取到了word文档中。现在就让我们来刷几道题巩固巩固吧 文章目录 1. 查看PPT上2. 查看PPT中3. 查看PPT下4. PPT的页码5. 大学期末考试6. 查找重复页7. 用代码写首小诗 1. 查看PPT上
由于期末复习的课程很多每个课程中又包含了一些PPT小何想能不能通过 input() 函数实现个性化交互让同学们通过输入PPT的名称就可以一键提取出对应的文本并写入Word文档呢
那我们通过三道题实现这个功能吧在本题中你需要做的是通过 input() 函数输入 PPT 的页码就可以找到该页码对应的形状数。
解题步骤 读取指定PPT的幻灯片页 使用 input() 函数让用户输入 PPT 的页码(这份PPT只有91页哦) 将输入的页码减去 1 作为幻灯片页序列的索引值并访问其 .shapes 属性 格式化字符串输出第{x}页有{x}个形状。
示例代码如下
# 使用from...import从pptx模块中导入Presentation
from pptx import Presentation# 将.pptx文件路径赋值给变量path
path /Users/xiaohe/statistics.pptx# 读取path并赋值给变量pptxFile
pptxFile Presentation(path)# 访问Presentation中的.slides属性赋值给slide
slide pptxFile.slides# 使用input()函数输入PPT的页码
# 将输入的内容进行int()类型转换后赋值给pageNumber
pageNumberint(input(输入PPT的页码))# 将pageNumber减1赋值给index
indexpageNumber-1# 将index作为幻灯片页的索引值并访问.shapes属性赋值给shape
shapeslide[index].shapes# 利用len()函数对选中的PPT页进行形状数统计并赋值shapeNumber
shapeNumberlen(shape)# print()格式化输出f第{pageNumber}页有{shapeNumber}个形状
print(f第{pageNumber}页有{shapeNumber}个形状)2. 查看PPT中
上一次我们已经实现了输入PPT的页码就能找到该页码对应的形状数这一功能那么本次我们就来实现通过input() 函数输入PPT页码来获取该页码下面全部的文本内容吧
解题步骤 读取指定PPT的幻灯片页 使用 input() 函数让用户输入 PPT 的页码(这份PPT只有91页哦) 将输入的页码减去 1 作为幻灯片页序列的索引值 访问PPT每一页里面的全部文本内容并打印出来
示例代码如下
# 使用from...import从pptx模块中导入Presentation
from pptx import Presentation# 将.pptx文件路径赋值给变量path
path /Users/xiaohe/statistics.pptx# 读取path并赋值给变量pptxFile
pptxFile Presentation(path)# 访问Presentation对象中的.slides属性赋值给slide
slide pptxFile.slides# 使用input()函数输入PPT的页码(1-91)
# 将输入的内容进行int()类型转换后赋值给pageNumber
pageNumberint(input(输入PPT的页码(1-91)))# 将pageNumber减1赋值给index
indexpageNumber-1# 将index作为幻灯片页的索引值,把slide[index]赋值给变量slide_s
slide_sslide[index]# 将index作为幻灯片页的索引值for循环遍历slide_s的shapes属性
for shape in slide_s.shapes:# 判断单个shape中是否有文本框if shape.has_text_frame True:# 读取单个shape中的文本框并赋值给变量textFrametextFrame shape.text_framefor para in textFrame.paragraphs:for run in para.runs:# 读取文本框中的文本内容并赋值给变量textstextsrun.text# print()输出textsprint(texts)3. 查看PPT下
我们在前面已经实现了输入PPT的页码就能找到该页码对应的形状数以及获取该页码下全部的文本内容等功能那么本次我们就来实现我们的最终目标吧通过input() 函数输入PPT名称一键提取出对应的文本并写入Word文档
解题步骤 新建一个空白的 Word 文档 使用 input() 函数让用户输入 PPT 的名称 访问输入名称的 PPT 中每一页样式块文本内容使用 add_paragraph() 函数添加文案内容到文档当中 将 Word 文档至指定路径。 文件夹路径下包含的PPT文件有 可用性.pptx; 易修改性.pptx 质量属性.pptx 保存路径/Users/xiaohe/资料.docx
示例代码如下
# 使用from...import从pptx模块中导入Presentation
from pptx import Presentation# 使用import导入docx
import docx# 新建一个空白Word文档赋值给变量docxFile
docxFiledocx.Document()# 将文件夹路径赋值给变量path
path /Users/xiaohe# 使用input()函数输入PPT的名称(可用性/易修改性/质量属性)
pptName input(输入PPT的名称(可用性/易修改性/质量属性))# 将输入的PPT名称构造正确的读取路径并赋值给fileName
fileName path/ pptName.pptx# 读取fileName并赋值给变量pptxFile
pptxFile Presentation(fileName)# for循环遍历pptxFile的slides属性
for slide in pptxFile.slides:# for循环遍历slide中.shapes属性for shape in slide.shapes:# 判断单个shape中是否有文本框if shape.has_text_frame True:# 读取单个shape中的文本框并赋值给变量textFrametextFrame shape.text_frame# 按样式块提取文本并写入Word文档中for para in textFrame.paragraphs:for run in para.runs: docxFile.add_paragraph(run.text)# 保存文档到指定路径并命名为资料.docx
docxFile.save(/Users/xiaohe/资料.docx)4. PPT的页码
通过今天的学习我们获取到了 PPT 中全部幻灯片页序列如何获取PPT的总页码呢
幻灯片页序列中包含所有幻灯片页对象可以使用 len() 函数得到序列的长度也就是PPT的总页码数。 fruitList [“apple”, “banana”, “watermelon”] print(len(fruitList)) 输出结果为:3 示例代码如下
# 使用from...import从pptx模块中导入Presentation
from pptx import Presentation# 将.pptx文件路径赋值给变量path
path /Users/xiaohe/statistics.pptx# 读取path并赋值给变量pptxFile
pptxFilePresentation(path)# 在Presentation对象中访问.slides属性并赋值给slides
slidespptxFile.slides# 使用len()函数获取slides序列的长度赋值给变量page
pagelen(slides)# print()格式化输出fPPT一共有{page}页
print(fPPT一共有{page}页)5. 大学期末考试
期末考试即将到来小何开始根据PPT整理复习提纲。然而《软件体系结构》这门课程的PPT太多依次整理其中的文本内容太麻烦啦
下面我们就来实现通过 input() 函数输入PPT名称输出该PPT下的全部文本内容。
解题步骤 使用 input() 函数让用户输入 PPT 的名称 通过“拼接文件路径 文件路径文件夹路径”/“输入名称”.pptx 访问输入名称的PPT中每一页里面的全部文本内容并打印出来 文件夹路径下包含的PPT的名称为 可用性 易修改性 质量属性 示例代码如下
# 使用from...import从pptx模块中导入Presentation
from pptx import Presentation# 将文件夹路径赋值给变量path
path /Users/xiaohe# 使用input()函数输入PPT的名称(可用性/易修改性/质量属性)
# 赋值给pptName
pptNameinput(输入PPT的名称(可用性/易修改性/质量属性))# 构造PPT读取路径并赋值给fileName
fileNamepath/pptName.pptx# 读取fileName并赋值给变量pptxFile
pptxFilePresentation(fileName)# for循环遍历pptxFile的slides属性赋值给slide
for slide in pptxFile.slides:# for循环遍历slide中.shapes属性,赋值给shapefor shape in slide.shapes:# 判断每个shape中是否有文本框if shape.has_text_frame:# 读取单个shape中的文本框并赋值给变量textFrametextFrame shape.text_frame# 读取文本框中的文本内容并赋值给变量textstexts textFrame.text# print()输出textsprint(texts) # 有的文件只能这样输出不用run6. 查找重复页
由于很多PPT在制作时不小心会存在重复页小何想能不能通过什么办法快速找出来PPT当中有哪两页是重复的呢
那让我们一起来实现这个功能吧在本题中你需要做的是 读取指定路径的PPT 以幻灯片页为单位将文本全部提取出 定义一个新字典添加键值对页码为键对应的值为本页文本内容 接下来进行逐页查找如果查找内容与指定内容相同并且页码不相同就格式化字符串输出第x页和第x页重复。
示例代码如下
# 使用from...import从pptx模块中导入Presentation
from pptx import Presentation# 将.pptx文件路径赋值给变量path
path /Users/xiaohe/可用性.pptx# 读取path并赋值给变量pptxFile
pptxFile Presentation(path)# 定义一个空字典dict_all
dict_all{}# 定义变量pageNumber 1
pageNumber 1# for循环遍历pptxfile中的.slides属性
for slide in pptxFile.slides:# 定义一个空字符串textSlidetextSlide# for循环遍历slide中.shapes属性for shape in slide.shapes:# 判断单个shape中是否有文本框if shape.has_text_frame True:# 把单个形状下的全部文本赋值给变量textstexts shape.text# textSlide累加textstextSlidetexts# 向字典dict_all添加键值对pageNumber为键对应值为textSlidedict_all[pageNumber]textSlide# pageNumber累加1pageNumber 1# 变量i设置为1
i 1# while循环如果i13
while i13:# 变量check_k设置为icheck_ki# check_v设置为dict_all[i]check_vdict_all[i]# for循环遍历dict_all.items()并赋值给key, valuefor key,value in dict_all.items():# 如果value等于check_vif valuecheck_v:# 如果key小于check_kif keycheck_k:# 格式化字符串输出# f第{key}页和第{check_k}页重复print(f第{key}页和第{check_k}页重复)# i累加1i 17. 用代码写首小诗
刚学完如何用 Python 将文字写入 Word 文档的你快来写一首小诗送给秋天吧
文案内容为
月落乌啼霜满天 江枫渔火对愁眠 姑苏城外寒山寺 夜半钟声到客船
你需要完成 新建一个空白的 Word 文档 使用 input() 函数输入诗句 使用 add_paragraph() 函数添加文案内容到文档当中 将 Word 文档至指定路径。
保存路径/Users/qu/诗句.docx
示例代码如下
import docx
doxdocx.Document()for num in range(4):poeminput(poem:)dox.add_paragraph(poem)
dox.save(/Users/qu/诗句.docx) 贺中秋迎国庆双节快乐