下面是Python读取Excel数据实现批量生成PPT的完整实例教程。
1. 环境搭建
首先,需要安装 openpyxl
和 python-pptx
库:
pip install openpyxl
pip install python-pptx
2. Excel 数据读取
读取 Excel 数据可以使用 openpyxl
库,以下是一个示例代码:
import openpyxl
# 打开工作簿
wb = openpyxl.load_workbook('data.xlsx')
# 定位工作表
ws = wb.active
# 遍历行
for row in ws.iter_rows(min_row=2): # 从第二行开始
name, title, content = [cell.value for cell in row]
print(name, title, content)
这段代码打开了名为 data.xlsx
的 Excel 工作簿,并遍历了第一个工作表中除第一行外的每一行,将每行中的前三个单元格的值存储到 name
、title
和 content
变量中,并打印出来。
3. PPT 模板填充
使用 python-pptx
库创建和修改 PPT 文件,以下是一个示例代码:
from pptx import Presentation
from pptx.util import Inches, Pt
# 打开 PPT 模板
prs = Presentation('template.pptx')
# 定位第一个幻灯片
slide = prs.slides[0]
# 填充文本框
title_box = slide.shapes[0].text_frame
title_box.text = title
content_box = slide.shapes[1].text_frame
content_box.text = content
# 保存为新 PPT 文件
prs.save(f'{name}.pptx')
这段代码打开了名为 template.pptx
的 PPT 模板文件,并将第一个幻灯片的第一个文本框和第二个文本框分别填充为 title
和 content
变量的值,然后将文件另存为名为 name.pptx
的新 PPT 文件。
4. 完整示例
将以上的两段代码组合在一起,就可以实现 Excel 数据读取和 PPT 模板填充的批量生成 PPT 文件的功能。以下是一个完整的示例:
import openpyxl
from pptx import Presentation
from pptx.util import Inches, Pt
# 打开工作簿
wb = openpyxl.load_workbook('data.xlsx')
# 定位工作表
ws = wb.active
# 遍历行
for row in ws.iter_rows(min_row=2): # 从第二行开始
name, title, content = [cell.value for cell in row]
# 打开 PPT 模板
prs = Presentation('template.pptx')
# 定位第一个幻灯片
slide = prs.slides[0]
# 填充文本框
title_box = slide.shapes[0].text_frame
title_box.text = title
content_box = slide.shapes[1].text_frame
content_box.text = content
# 保存为新 PPT 文件
prs.save(f'{name}.pptx')
该示例读取名为 data.xlsx
的 Excel 文件,将每一行的前三个单元格的值依次存储到 name
、title
和 content
中,并使用名为 template.pptx
的 PPT 模板填充 title
和 content
的值后另存为名为 name.pptx
的新 PPT 文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python读取Excel数据实现批量生成PPT - Python技术站