Python 将多张图片插入到excel中并统一设置大小
文章目录
1.任务目标
我的一个闺蜜是开珠宝工作室的,她让我给她做一个珠宝出入库登记表。
珠宝图片有100多张,图片分别存在三个文件夹。
第1个文件夹有94张图片,第2个文件夹有40张图片,第3个文件夹有15张图片。
诉求是每张图片的尺寸不一样,她希望存放到文件夹里图片的尺寸大小是一样的。
2.准备工作
1)新建文件夹【珪玥珠宝】。
2)在【珪玥珠宝】文件夹中新建三个文件夹,分别命名为【images1】【images2】【images3】。
3)将要处理的图片分别存放到【images1】【images2】【images3】文件夹中。
4)对【images1】【images2】【images3】文件夹里的图片进行重命名。
5)在【珪玥珠宝】文件夹中新建1个excel文件,命名为【珪玥珠宝库存表.xlsx】。
5)用vscode 编辑器打开【珪玥珠宝】文件夹,并在该文件夹下新建一个.py或.ipynb文件。
重命名方法
1)全选照片:【ctrl】+【A】。
2)按【F2】,第一张图片的名称会变为蓝色。
3)输入字【图】后按回车。
得到的图片如下图所示:

重复上面的动作,将三个文件夹里的图片的名字都进行重命名。
重命名的目的是用数字排序,方便后面的循环插入图片。
【温馨提示】
注意一个文件夹里的图片类型必须一致。
可以都是【.jpn】。
可以都是【.jpeg】。
根据需要设置Excel

相对路径的获取方法
鼠标右键点击【图片(1)】。
【复制相对路径】。
注意区分路径中的括号是英文输入法下输入的。

3.实操练习
1.插入一张图片
# import 库名 导入库
import openpyxl
# 打开刚才新建的工作薄
# wb对象= 库名.方法(path)
# load_workbook是openpyxl的方法,作用是打开工作薄
# path='珪玥珠宝库存表.xlsx'
# 这里的path 是相对路径
wb=openpyxl.load_workbook('珪玥珠宝库存表.xlsx')
# 工作薄里有3个工作表【图1】【图2】【图3】
# wb对象[工作表名]确定要插入的工作表
# 我这里先往【图3】工作表中插入图片
ws=wb['图库3']
# 自定义【图3】工作表第3行的高度
# 第一张图片要插入的位置是B3(B列,第3行)
# 工作表对象有row_dimensions 和column_dimensions属性,可以控制行高和列宽。
# ws对象.row_dimensions[行]高=值
ws.row_dimensions[3].height=80
# 根据指定的图像文件创建img图像
# img对象=库名.drawing.image.Image(path)
# 注意第1个image的i是小写
# 注意第2个Image的I是大写
# path = 'images3\图 (1).jpeg'
# path 是图 (1)的相对路径
img=openpyxl.drawing.image.Image('images3\图 (1).jpeg')
# 设置图片的宽度
# 图片对象.width = 值
img.width = 114
# 设置图片的高度
# 图片对象.height = 值
img.height = 101
# 在B3单元格中添加img图像
ws.add_image(img,'B3')
# 图片插入后将工作薄另存为'结果表1—珪玥珠宝库存表.xlsx'
wb.save('结果表1—珪玥珠宝库存表.xlsx')
# 加一个输出,验证程序运行是否有错误
print('程序结束!')
【终端输出】
程序结束!

3042

被折叠的 条评论
为什么被折叠?



