Python3,区区10行代码,批量把图片插入Excel指定单元格中,省下时间去烫头发。
这里写目录标题
- 1、引言
- 2、代码实战
- 2.1 代码示例
- 2.2 遇到问题及处理方案
- 2.2.1 遇到问题
- 2.2.2 解决方案
- 3、总结
1、引言
小屌丝:鱼哥, 想请教你个问题。
小鱼:啥问题呢?
小屌丝:我想把图片插入到excel里面
小鱼:这个还用问我? 你是昨晚喝多了?
小屌丝:不是的,我是想把图片插入到excel单元格里面
小鱼:这么简单的操作,你竟然也说得出口!
小屌丝:不是的,我是想批量插入图片
小鱼:excel不支持批量插入图片功能??
小屌丝:是的,我想把图片批量按照名称和统一尺寸,放入到单元格里面
小鱼:昂… 这个 excel也能批量操作啊。
小屌丝:太费劲了, 我有100多张图片, 我还得手动调单元格的大小,
小鱼:那确实挺多的, 那你就慢慢搞一下了,闲着也是闲着…
小屌丝:鱼哥,别啊,节省的时间,去泡个澡,剪个头发,不舒服吗?
小鱼:也对,不过现在剪头发都是198了…
小屌丝:没事鱼哥, 我有券…
小鱼:那… 等我会啊…
2、代码实战
2.1 代码示例
代码示例
# -*- coding: utf-8 -*-
# @Time : 2022-12-05
# @Author : Carl_DJ'''
实现功能:在excel中,对应的名称后面,插入图片'''import openpyxl,PIL
from openpyxl.drawing.image import Image
import os#excel文件路径
excel_path = './pic/image.xlsx'#图片名称为A列
img_name_column = 'A'#图片写入B列
img_column = 'B'
#读取图片的地址
img_path = './data/picture'#转换图片格式,强制转换成jpg格式
# img_type = PIL.Image.open(img_path).convert("RGB")
# img_type.save(img_path, 'jpeg')#打开excel文件
wb = openpyxl.load_workbook(excel_path)
#获取sheet页
ws = wb.activefor i, v in enumerate(ws[img_name_column], start=1):#图片路径img_file_path = os.path.join(img_path, f"{v.value}.jpg")#获取图片img = Image(img_file_path)#设置图片的大小img.width, img.height = (110, 110)# 设置表格的宽20和高85ws.column_dimensions[img_column].width = 20ws.row_dimensions[i].height = 85# 图片插入名称对应单元格ws.add_image(img, anchor=img_column + str(i))#保存
wb.save(excel_path) # 保存
#关闭
wb.close()
print(f'保存完成')
运行结果
2.2 遇到问题及处理方案
2.2.1 遇到问题
这里,小鱼在运行脚本时, 遇到一个错误提示,
图片的类型是 “.webp”,如下:
我首先看图片的后缀,是不是.webp,发现,已修改为.jpg
于是,小鱼就想到了,是不是下载图片的时候, 虽然图片的后缀改成.jpg,但是,图片的本质,还是**.webp**格式,
为了验证小鱼的猜想,我就重新下载一次百度图片,如下:
确实,是这样的。
2.2.2 解决方案
遇到这种问题,两种解决方案:
1、直接下载jgp格式的图片;
可以参照小鱼的这篇《Python3,5行代码,让你拥有无限量壁纸美图》 ,这样下载的都是jpg格式的图片。
2、代码强制转换:
强制转换图片格式:
#转换图片格式,强制转换成jpeg格式
img_type = PIL.Image.open(img_path).convert("RGB")
img_type.save(img_path, 'jpeg')
3、总结
看到这里,今天的分享就差不多结束了。
在2022年初的时候, 小鱼把图片写入到excel里面,得到的反馈很不错。
- 《Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。》
今天,在2023年的年初 ,我们把图片插入到单元格中,可算是把图片与excel玩的明明白白的。
当然,
关于python的更多更有趣的知识, 可以关注小鱼的 Python专栏。
我是小鱼:
- CSDN 博客专家;
- 阿里云社区 专家博主;
- 51CTO博客专家;
- 51 认证讲师;
- 企业金牌面试官;
关注我,带你学习更多更有趣的Python知识。
Python3,区区10行代码,批量把图片插入Excel指定单元格中,省下时间去烫头发。相关推荐
- delphi 往 excel 指定单元格中插入图片
delphi 往 excel 指定单元格中插入图片 EApp.ActiveSheet.Range['imagepath'].select; //--选定插入图片的单元格EApp.ActiveSheet ...
- Excel批量导入图片并在右侧单元格备注名称
如下图所示,小编要分享的是,Excel批量导入图片并在右侧单元格备注名称的操作 (方方格子插件) 1.先看动图演示吧 2.选中A2第一个需要添加图片的单元格 3.然后选择方方格子的图片工具 4.那我们 ...
- Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
10行代码把情书写在她的照片里 1.引言 2.Pillow 2.1 Pillow 安装 2.2 Pillow 介绍 2.2.1 新建及保存图片 2.2.2 重新绘制图片 2.2.3 图片合并 2.3 ...
- 我是如何用10行代码搬运目标图片的?
嗯呢,你没看错,就是教你把一个路径下的所有目标图片搬运到制定路径下.有读者说:小詹你忽悠人吧,要搬运目标图片复制粘贴不就好了嘛,要什么代码,搬砖脑子秀逗了? 咳咳,对于目标文件夹复制粘贴当然可以,还简 ...
- Python3,10行代码,制作艺术签名,从此走上人生巅峰。
制作艺术签名 1.引言 2.代码实战 2.1 代码示例 3.总结 1.引言 小鱼:小屌丝,你在画啥呢? 小屌丝:- 我这在练习签名呢. 小鱼:这- 艺术签? 小屌丝:喔,鱼哥,你这真实博才多艺,这都知 ...
- Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。
19行代码,把图片写到如excel. 1.引言 2.代码实战 2.1 思路 2.2 文件准备 2.3 实战 2.3.1 安装 2.3.2 代码实战 3.总结 1.引言 小屌丝:鱼哥,新年快乐~ ~ 小 ...
- 【java spring boot使用easypoi实现word文档占位符替换文字和图片、Excel图片贴到对应单元格】
最近接到一个任务,写两个导出工具:1.word文档导出,将数据和图片放入到word中,将多个word合并为一个导出.2.Excel文档导出,将二维码信息和图片按照模板放入到Excel中,按9个一页排版 ...
- NPOI 在指定单元格导入导出图片
NPOI 在指定单元格导入导出图片 Intro 我维护了一个 NPOI 的扩展(WeihanLi.Npoi),主要用来导入导出 Excel 数据,最近有网友提出了导入 Excel 的时候解析图片的需求 ...
- Excel中文本数字单元格批量转换(不影响公式单元格)
Excel经常会遇到以文本格式存储的数字,单元格坐上角显示一个绿色三角标志,如果需要转换为真正的数字,通常使用的方法是复制全部单元格,然后选择性粘贴,但是具有公式的单元格就被破坏了,公式转为了静态数值 ...
最新文章
- iOS - UISearchController
- Web安全实践(13)嗅探,arp欺骗,会话劫持与重放攻击(上)
- AndroidICS4.0----LockScreen锁屏流程【Android源码解析九】
- wr885n虚拟服务器设置,动态IP设置:选择动态IP(以太网宽带
- wooden sticks
- HDU1591 Encoded Love-letter【密码】
- 大二上学期软件工程概论学习进度表(第十一周)
- 单日暴跌60%,崩盘4次的AMPL,这次还能回来吗?
- ad09只在一定范围内查找相似对象_AD常用快捷键
- Apache自带的ab压力测试工具
- Windows:文件系统FAT32、NTFS和exFAT
- 有限元方法入门:有限元方法简单的一维算例
- 【设计模式】模板模式
- diamond mysql_TDDL动态数据源Diamond配置
- c语言不报错但输不出正确结果,正则表达式,c++_C语言 正则表达式结果不对?,正则表达式,c++ - phpStudy...
- Java POI 设置字体下划线、方框打勾、字体加粗
- 京东 Android 客户端样式的级联地址选择器
- java数据结构与算法之顺序表与链表深入分析
- 3D动作手游的辅助瞄准算法(二)
- 第一篇 AlexNet——论文翻译
热门文章
- 【Java知识体系】JVM深入浅出,图解易懂,赶紧收藏,入股不亏
- XMind 思维导图 软件下载
- PDF.JS教程 - A general-purpose, web standards-based platform for parsing and rendering PDFs.
- java+阿里云中的视频点播实现视频的上传和播放
- python小欢喜(七)游戏编程 (2) 挡球游戏的改进:使用中文提示并添加声音效果
- vary渲染图没了_【搞事】没眼看!双摄挖孔+浴霸 谷歌皇太子致敬华为三星?
- 运输问题系数矩阵matlab,基于MATLAB的运输问题求解方法.pdf
- 中国5G套餐用户规模已超5000万!
- uni-app配置Vant Weapp
- 如何读/写论文???