自动化办公 | 快速从Excel中提取图片并匹配命名
大家好,我是小五????
关于自动化办公,之前我思考过好久。到底什么是自动化办公,哪些属于能真正提高我们工作效率的知识,哪些所谓的python自动化办公项目又是伪需求?
其实挺难断定的,可能大部分人用不到的一个功能,对于刚需的人却是救命稻草!
比如今天的这个需求????
案例需求
一个群友在交流群里提出了这样一个问题
这是他给出的示例文件,其中F列的商品编码,G列是商品图片。希望能够将G列的图片提取出来,并以同行的F列商品编码命名。
下面给大家讲讲,如何轻松提取Excel的图片????
最简单的解决办法
其中最简单的办法就是:将原Excel文件后缀名改为压缩包格式(zip、rar等)
这时候只需要解压此压缩包,再依次打开【xl】→【media】文件夹,就可以看到一堆图片。
这些图片就是原本Excel中插入的图片。
是不是很简单?网上python自动化提取Excel中图片的方法,其基本原理也是一样的。
所以大家如果遇到了这种需求,不妨先试试这种方法(包括在Word中提取图片也是同理)
但是这种解决办法在本案例中并不适用。
为什么呢?
整个Excel中有重复的图片,这就会导致压缩包解压后的图片会自动去重,这样我们就没办法给图片匹配命名。
一共126行商品数据,但解压后只提取出了112张图片。
下面继续带大家尝试用不同办法解决这个问题????
VBA 方法
有群友给出了VBA的解法:
先看实现的效果动图
这里公布VBA代码,刚兴趣的同学可以自己学习研究一下
Sub 导出图片()On Error Resume NextMkDir ThisWorkbook.Path & "\图片"For Each pic In ActiveSheet.ShapesIf pic.Type = 13 ThenRN = pic.TopLeftCell.Offset(0, -1).Valuepic.CopyWith ActiveSheet.ChartObjects.Add(0, 0, pic.Width, pic.Height).Chart '创建图片.Parent.Select.Paste.Export ThisWorkbook.Path & "\图片\" & RN & ".jpg".Parent.DeleteEnd WithEnd IfNext
End Sub
既然VBA能实现,那自动化办公的另一个巨头——python哥也不能说不行啊。
Python方法
我们可以使用openpyxl
来自动提取Excel中的数值,但是对于单元格里的图片就束手无策了。
毕竟它是浮动的。
这里我们需要再安装一个库——openpyxl-image-loader
来搭配使用。顾名思义,它的功能就是从单元格获取图像,正好可以实现我们的需求。
表情包(真不错)
具体实现语句如下所示:
path = r'D:\python_code\\'
saveDir = "图片/"wb = load_workbook(path + '待收集图片sku.xlsx')
ws = wb['Sheet1']
image_loader = SheetImageLoader(ws)num = ws.max_row
for i in range(2,num+1):name = ws['F'+str(i)].valueimage = image_loader.get('G'+str(i))image.save(saveDir + name + ".png")
其中image_loader.get()
函数就是用来获取单元格的图像,我们只需再将openpyxl
获取的F列商品编号作为图片名保存即可。
可以看到,标注圈出的图片原本是相同的,但仍然被命名为对应的商品编号,这样我们最终提取并命名的图片也就是126张。
说明我们同样解决了这个需求!
所以无论VBA还是python,只要能真正解决我们实际问题的,都是自动化办公的好帮手。
数据&代码下载
如果有小伙伴对本文的操作感兴趣,扫码????关注「快学Python」在后台回复“图片” ,即可获取全部案例数据和代码!
《精通Python自动化编程》全书共20章,第1~14章讲解Python编程基础知识,第15章介绍数据库、ORM框架SQLAlchemy的应用,第16~20章分别介绍Selenium实现网页自动化、Requests实现网页爬虫编程、办公自动化编程、OpenCV实现图像识别与定位、Web系统的开发与部署。点击下图可看详情/购买!????
感谢机械工业出版社的支持!点击阅读原文 500币????免费兑换!无套路包邮送书!
自动化办公 | 快速从Excel中提取图片并匹配命名相关推荐
- 如何按指定名称快速导出Excel中的图片?
照例举个例子.如下图所示,工作表中存在多张图片,现在需要将其导出,并按图片向左偏移一个单元格,也就是A列单元格的值进行命名. 导出后结果如下图所示: 如果不追求规范图片命名,只是导出Excel中的图片 ...
- Python 批量提取Excel中的图片,图片文件名按指定列存储
openpyxl 以及 openpyxl_image_loader,conda或者pip无法安装的话,官网下载whl,然后pip安装本地包 [注意]:图片必须在单元格内,不能压过单元格边界 from ...
- 怎么从pdf中提取图片?三招告诉你如何从pdf中提取图片
众所周知,PDF的格式对于一些重要文件的保存,以及隐私文件的保护来说都是非常好用的.同时,如果要将PDF格式的文件转换成其它格式的文件也挺方便的.因此,PDF格式在日常办公中具有较高的使用率.那么我们 ...
- vb.net读取excel并写入dgv_如何用Python读取Excel中的图片?然后写入图片?
大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析. 那么你知道如何使用Python读 ...
- 如何用Python读取Excel中图片?又如何用Python往Excel中写入图片?
大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析. 那么你知道如何使用Python读 ...
- 从视频中提取图片(截取ppt)
从视频中提取图片 大聪明2.0上线 本文将介绍如何快速从网课视频中提取ppt Step1 从视频中提取图片 使用win自带的"电影与电视" 点击这个小铅笔,选择"保存视频 ...
- 怎么从pdf中提取图片
在办公室工作过程中,我们需要从PDF文件中获取对我们有用的图片. 但是打开PDF文件后,无法直接保存或复制图片.所以我们常用的方法是使用屏幕截图工具保存一两张图片. 如果有数百张图片,则估计头部会很大 ...
- excel poi 加背景图_java 在Excel中插入图片 POI实现
一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...
- excel中提取月份_在Excel中自动添加月份表
excel中提取月份 Set up a Master sheet in your workbook, and add month sheets automatically, based on that ...
最新文章
- c#chart背景透明_C# 二
- 内核对象用于线程同步
- matlab 提取数列里非零_什么!科研交流免费教Matlab?
- 一个老程序员对自己当前编程技术处在哪个水平的反思
- MIPI CSI-2学习
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]43 为AES 对抗侧信道攻击的防御
- 湖首大学计算机科学硕士申请,湖首大学王牌专业之一丨计算机科学专业
- 捷作服务器 修改套接字端口,如何解决错误“每个套接字地址(协议/网络地址/端口)通常只允许使用一次”?...
- 没想到!谷歌排名第一的编程语言,这样的学的话,更容易成为高手!
- MySQL 用gourp by分组后取某一字段最大值
- python3--命名空间字典
- 凸优化第九章无约束优化 9.4最速下降方法
- 存用部首查字典如何查_存的部首,存的偏旁部首,存的拼音,存的笔画数,存的组词,存的意思...
- ITeye 2012年8月最后一周重要新闻回顾
- 读论文:Noise2Noise: Learning Image Restoration without Clean Data
- 珍大户 认知世界的经济学课程推荐电影《大空头》链接地址及笔记
- k-means算法与pca结合对多特征组聚类
- 如何在微信公众号分享PPT?
- 读《Effective java 中文版》(2)
- 音频之WAV格式编码解析