Python 将多张图片插入到excel中并统一设置大小

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('程序结束!')

【终端输出】

程序结束!
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值